public int hIndex(int[] citations) { /* 唠唠叨叨说了很多 其实找到一个数h,使得数组中至少有h个数大于等于这个数, 其他N-h个数小于这个数,h可能有多个,求最大的那个 */ if (citations.length==0) return 0; //sort方法是将原数组排序,会改变原数组 Arrays.sort(citations); int res = 0; for (int i = citations.length-1; i >=0 ; i--) { if (citations[i]>=citations.length-i) { res++; } else break; } return res; }