劍指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;
}
}