剑指offer每日一题算法题(java解法)
方便日后复习,从今天开始。
算法之行始于足下
[编程题]数字在排序数组中出现的次数-- Java实现
------------------------------------------------------------------------------------------------------
题目描述
统计一个数字在排序数组中出现的次数。
前提:
排序数组,要么从小到大,要么从大到小
解题思路:
方法一:
循环遍历判断与该数字相等的值,如果有就次数加一,直到循环结束返回次数
方法二:
利用二分查找会降低时间复杂度,因为排了顺序,如果值小于哪边,就在哪边再折半找,如果相等就次数加一,再找两边(代码未贴出)
public class Solution {
public int GetNumberOfK(int [] array , int k) {
int count=0;
for(int i=0;i<array.length;i++){
if(array[i]==k)
count++;
}
return count;
}
}