私は自分のアルゴリズムで数学を正しくしようとしていますが、ieなどを計算する「アルゴリズムの分析」を理解するのに非常に苦労していf(n) = 1
ますf(n) = n-1
。
ソートされた整数の配列をループし、異なる整数がいくつあるかを数えるメソッドを作成しました(つまり{1,3,3,3,5,6,8} = 5
)。最悪のシナリオを計算するにはどうすればよいですか?
基本的に、コードは次のようになります。
int length = a.length;
int diffCount = 1; //The number of different integers
for(int i = 1; i < length; i++)
{
int b = a[i];
int c = a[i-1];
if(c>b)
throw new IllegalStateException("unsorted array");
if(c!=b)
diffCount++;
}
return diffCount;
他にもいくつかありますが、それは空の配列などのバグを防ぐためだけなので、含めませんでした。
そして、ここでの最悪のシナリオは何ですか..?条件c!=b
が毎回真である場合は?