求第一个无重复字符,如"total"的第一个无重复字符是o,"teeter"的第一个无重复字符是r,效率要优于O(n的平方)
public static Character FirstNonRepeated(String)
其中效率要优于O(n的平方)
是什么意思?
public static Character FirstNonRepeated(String)
其中效率要优于O(n的平方)
是什么意思?
调试欢乐多
分析复杂度时,主要考察算法中的重要操作(费时),如赋值,比较等。
O()是算法复杂度的上界。就是算法运行时间必然小于等于O()。
e.g.//不考虑程序的实际意义,只需分析赋值操作即可。
int sum=0; //只赋值1次
for(int i=0;i<n;i++) //i=0赋值1次,i++赋值n次
for(int j=0;j<n;j++) //j=0赋值n次,j++赋值n*n次
sum=sum+j; //赋值n*n次。 则这个算法的复杂度应该等于2*n*n+2n+2 <=O(n*n)。
这是详细过程,通常只要分析循环内的表达式就行。
http://topic.csdn.net/u/20090513/17/43abdcf7-7db8-4a0e-bd6a-3cb53c7e7f6d.html