import java.util.Arrays;
public class H_Index {
public int solution(int[] citations) {
int answer = 0;
Arrays.sort(citations);
for (int i = 0; i <= citations.length; i++) {
int count = 0;
for (int j = citations.length - 1; j >= 0; j--) {
if (i <= citations[j]) {
count++;
} else {
break;
}
}
if (count >= i) {
answer = i;
} else {
break;
}
}
return answer;
}
public int solution1(int[] critations) {
int answer = 0;
Arrays.sort(critations);
for (int i = critations.length - 1; i >= 0; i--) {
int min = Math.min(critations[i], critations.length - i);
if (answer < min) {
answer = min;
}
}
return answer;
}
public static void main(String[] args) {
H_Index s = new H_Index();
int[] citations1 = { 2, 2, 2, 2, 2 };
int[] citations2 = { 22, 42 };
int[] citations3 = { 1, 18, 19, 20 };
System.out.println(s.solution1(citations1));
System.out.println(s.solution1(citations2));
System.out.println(s.solution1(citations3));
}
}