我试图在我的算法中正确计算数学,但我很难理解计算 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
每次都为真?