c語言 統計乙個數字在排序陣列中出現的次數

2021-09-07 11:12:38 字數 1243 閱讀 2091

// 題目:統計乙個數字在排序陣列**現的次數。

//  比如:排序陣列{1。2,3,3,3,3,4。5}和數字3,因為3出現了4次。因此輸出4

有一種最簡單的演算法,遍歷。可是有比它效率更高的

先看遍歷:

#include #include int num_time(int *arr, int len, int a)

return count;

}int main()

; int len = sizeof(arr) / sizeof(arr[0]);

printf("%d\n", num_time(arr, len, 3));

return 0;

}

另一種利用二分查詢:

統計乙個數字在排序陣列中出現的次數

題目描述 統計乙個數字在排序陣列中出現的次數。輸入 每個測試案例包括兩行 第一行有1個整數n,表示陣列的大小。1 n 10 6。第二行有n個整數,表示陣列元素,每個元素均為int。第三行有1個整數m,表示接下來有m次查詢。1 m 10 3。下面有m行,每行有乙個整數k,表示要查詢的數。輸出 對應每個...

統計乙個數字在排序陣列中出現的次數

題目 統計乙個數字在排序陣列中出現的次數。思路 採用二分查詢的思想,尋找該數字第一次出現的下標和最後一次出現的下標,最後將兩個下標相減加1,便可得出出現的次數。具體的 實現如下所示 public class solution int firstindex getfirstindex array,0,...

在乙個排序陣列中求乙個數K出現的次數

思路 1 因為陣列是有序的,因此可以遍歷陣列,遇到比k大的數就終止,時間複雜度o n int getnumberofk vectordata int k return count 2 利用二分查詢,找到後,可以在小範圍內再查詢 int getnumberofk vectordata int k wh...