滄州建設網站ip反查域名網站
目錄
274. H 指數(shù)
題目描述:
實現(xiàn)代碼與解析:
排序+暴力
275. H 指數(shù) II
題目描述:
實現(xiàn)代碼與解析:
二分
比較簡單,不再寫解析,注意二分的時候,r指針為n,含義為個數(shù),而不是下標就行。
274. H 指數(shù)
題目描述:
????????給你一個整數(shù)數(shù)組?citations
?,其中?citations[i]
?表示研究者的第?i
?篇論文被引用的次數(shù)。計算并返回該研究者的?h
?指數(shù)。
根據(jù)維基百科上?h 指數(shù)的定義:h
?代表“高引用次數(shù)” ,一名科研人員的?h
?指數(shù)?是指他(她)至少發(fā)表了?h
?篇論文,并且每篇論文?至少?被引用?h
?次。如果?h
?有多種可能的值,h
?指數(shù)?是其中最大的那個。
示例 1:
輸入:citations = [3,0,6,1,5]輸出:3 解釋:給定數(shù)組表示研究者總共有 5篇論文,每篇論文相應的被引用了 3, 0, 6, 1, 5次。由于研究者有 3 篇論文每篇 至少 被引用了 3次,其余兩篇論文每篇被引用 不多于 3次,所以她的 h 指數(shù)是 3。
示例 2:
輸入:citations = [1,3,1]
實現(xiàn)代碼與解析:
排序+暴力
class Solution {
public:int hIndex(vector<int>& citations) {sort(citations.begin(), citations.end(), [](int a, int b) {return a > b;});int res = 0;for (int i = 0; i < citations.size(); i++) {if (citations[i] > i) {res = i + 1;} else {break;}}return res;}
};
275. H 指數(shù) II
題目描述:
????????給你一個整數(shù)數(shù)組?citations
?,其中?citations[i]
?表示研究者的第?i
?篇論文被引用的次數(shù),citations
?已經按照?升序排列?。計算并返回該研究者的 h?指數(shù)。
h 指數(shù)的定義:h 代表“高引用次數(shù)”(high citations),一名科研人員的?h
?指數(shù)是指他(她)的 (n
?篇論文中)總共有?h
?篇論文分別被引用了至少?h
?次。
請你設計并實現(xiàn)對數(shù)時間復雜度的算法解決此問題。
示例 1:
輸入:citations = [0,1,3,5,6]輸出:3解釋:給定數(shù)組表示研究者總共有 5篇論文,每篇論文相應的被引用了 0, 1, 3, 5, 6次。由于研究者有3篇論文每篇 至少 被引用了 3次,其余兩篇論文每篇被引用 不多于 3次,所以她的 h 指數(shù)是 3。
示例 2:
輸入:citations = [1,2,100]輸出:2
實現(xiàn)代碼與解析:
二分
class Solution {
public:int hIndex(vector<int>& citations) {int n = citations.size();int l = 0, r = n;while(l < r) {int mid = l + r >> 1;if (citations[mid] >= n - mid) r = mid;else l = mid + 1;}return n - l;}
};