Appearance
274. H 指数
原题链接:LeetCode 274. H 指数
题目描述
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h* *指数。
根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h** 指数 **是指他(她)至少发表了 h 篇论文,并且 *至少 有 h 篇论文被引用次数大于等于 h 。如果 h *有多种可能的值,h 指数 **是其中最大的那个。
示例 1:
citations = [3,0,6,1,5]
示例 2:
**输入:**citations = [1,3,1] **输出:**1
提示:
- `n == citations.length`
- `1 <= n <= 5000`
- `0 <= citations[i] <= 1000`
难度: Medium
题解代码
javascript
/**
* @param {number[]} citations
* @return {number}
*/
// 冒泡排序法处理
var hIndex = function (citations) {
const len = citations.length;
let h = 0;
if (len === 1) return citations[0] ? 1 : 0;
for (let i = len - 1; i >= 0; i--) {
for (let j = 0; j <= i; j++) {
if (citations[j] > citations[i]) {
const temp = citations[i];
citations[i] = citations[j];
citations[j] = temp;
}
}
if (citations[i] >= len - i) {
h = len - i;
}
}
return h;
};