274. H-Index
Tags:
Medium
Skills:
Array
June 24, 2025
04:32 AM
No headings found
Loading content...
Related Posts
Leetcode
No headings found
Related Posts
Leetcode
Problem
Bài toán yêu cầu tìm chỉ số h-index của một nhà nghiên cứu, tức là giá trị lớn nhất của h sao cho có ít nhất h bài báo với mỗi bài có ít nhất h trích dẫn

Approach
i nếu citations[i] >= i + 1 thì cập nhật h = i + 1 citations[i] < i + 1 thì dừng lại và return lại hTime and space complexity
Solution
1function hIndex(citations: number[]): number {
2 citations.sort((a, b) => b - a)
3 let h = 0;
4 for (let i = 0; i < citations.length; i++) {
5 if (citations[i] >= i + 1) {
6 h = i + 1
7 } else {
8 break
9 }
10 }
11 return h
12};Approach - Counting Sort
Time and space complexity
Solution
1function hIndex(citations: number[]): number {
2 const n = citations.length;
3 const count = new Array(n + 1).fill(0);
4 for(const c of citations) {
5 count[Math.min(c, n)]++
6 }
7 let s =0;
8 for(let h = n; h >= 0; h--) {
9 s+=count[h];
10 if(s>=h) return h
11 }
12
13 return 0
14};H-index là số nguyên lớn nhất h sao cho có ít nhất h bài báo, mỗi bài được trích dẫn ít nhất h lần.
count đại diện cho số lượng bài báo có số trích dẫn nhất định.0 đến n-1, bạn lưu số bài báo có đúng 0, 1, ..., n-1 trích dẫn.n, bạn gom tất cả các bài báo có số trích dẫn lớn hơn hoặc bằng n vào đây.n).n đều được tính chung vào count[n].