この記事では、Javaに実装された計算最大添字距離距離アルゴリズムについて説明します。次のように、参照のために共有してください。
質問の説明
形状アレイが与えられた場合、[i] <a [j]およびi <jの場合、最大添え字距離j -iを見つけます。
解決
複雑さ:複雑さo(n)のたびに3つのスキャン
アルゴリズム:{5,3,4,0,1,4,1}
最初の要素から始まる降順シーケンス{5,3,0}を見つける
i = 3、j = 6、jテールスキャンから初期化、i = 3、j = 6、a [i] = 0
コードを実装します
public static int maxindexdistance(int a []){boolean [] isdes = new boolean [a.length]; int min = a [0]; isdes [0] = true; for(int i = 0; i <a.length; i ++){if(a [i] <min){isdes [i] = true; min = a [i]; }} int maxdis = 0; int i = a.length -1; int j = a.length -1; system.out.println(arrays.toString(isdes)); while(i> = 0){while(isdes [i] == false){i--; } while(j> i && a [j] <= a [i]){j--; } if((j -i)> maxdis){maxdis = j -i; } 私 - ; } maxdisを返します;}Javaアルゴリズムの詳細については、このサイトに興味のある読者は、「Javaデータ構造とアルゴリズムのチュートリアル」、「Java操作DOMノードのヒントの要約」、「Javaファイルの要約およびディレクトリ操作のヒント」、「Java Cache操作のヒントの要約」というトピックを見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。