ソート>H Index(Java、JavaScript ES 5)


問題リンク
最初は問題を理解しなかった.
N編でH回以上引用した論文はH編以上で残りの論文はH回以下引用したので混同した.
簡単に考えて、昇順に並べて、1つのH番以上で引用されている数字が残りの大きな数字の個数K以上である(数字)を見つければよい.(K <= H)
example)
arr : [ 3, 0, 6, 1, 5 ] → [ 0, 1, 3, 5, 6 ]
index : 0 → H : 0 (arr[0]), K : 5
index : 1 → H : 1 (arr[0]), K : 4
index : 2 → H : 3 (arr[0]), K : 3
index : 3 → H : 5 (arr[0]), K : 2
index : 4 → H : 6 (arr[0]), K : 1
最初のHがK以上の数字:3
JavaScript
function solution(citations) {
    var answer = 0;
    
    Array.prototype.sort.call(citations, function(a, b){
        return a - b;
    });
    
    var n = citations.length;
    var h = 0;
    var k = 0;
    for(var index = 0; index < n; index = index + 1){
        h = citations[index];
        k = n - index;
        if( k <= h ){
            answer = k;
            break;
        }
    }
    return answer;
}
ジャワ
import java.util.Arrays;

class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        
        Arrays.sort(citations);
        
        int n = citations.length;
        int h = 0;
        int k = 0;
        
        for(int index = 0; index < n; index = index + 1){
            h = citations[index];
            k = n - index;
            
            if( k <= h ){
                answer = k;
                break;
            }
        }        
        return answer;
    }
}