着急可乐

文章
2
资源
0
加入时间
2年10月24天

查找排序数组中数字出现的次数

例如输入数组{1,2,3,3,3,3,4,5,6}中查找3出现的次数。最为简单的方法就是从头遍历这个数组,统计3出现的次数,可是这样没有利用这是一个排序了的数组这个条件,时间复杂度O(n)。另一种方法就是利用二分查找的算法找到一个3,然后分别向左和向右查找第一个和最后一个3所在的位置,这样虽然比第一种方法效率提高了,但是当最坏的情况时,即数组中所有的元素都是3时,这样时间复杂度依然为O(0.5n)