Problem: 274. H 指數
文章目錄
- 思路
- 解題方法
- 復雜度
- Code
思路
最后的結果一定不會超過下標個數。應為文章也要大于這個h,h超過了文章總數,就永遠不會存在這么多的文章滿足條件,所以只需要循環下標,那么最后的結果呢?
解題方法
由于排了序,所以后面的文章引用數量一定大于等于目前的數量,能不能以文章的引用為判斷呢,不能,設想6 6 6 6 6 6 6 6 6 ,如果以引用方式,我們發現我們只能判斷6,但是很明顯中間的6可以滿足條件,因為不同的文章數量也會影響結果,所以這種思路是錯的。所以目標就是,如果目前位置開始所有的文章數量比引用數量來的要小,那么就滿足條件。
復雜度
時間復雜度:
O ( n l o g n ) O(nlogn) O(nlogn)
空間復雜度:
O ( n l o g n ) O(nlogn) O(nlogn)
Code
class Solution {public int hIndex(int[] citations) {Arrays.sort(citations);int ans=0;for(int i = 0;i <= citations.length-1; i++){if(citations.length-i<=citations[i]){ans = Math.max(ans,citations.length-i);}}return ans;}
}