题意:
有一个人要去参加比赛,前面他开始训练。一共有n个比赛项目,然后每个比赛项目都有ai个题,要求第k天选择的比赛项目的题不能少于k。有的话立即停止训练
思路:
先对数组一个升序排列,直接用Arryays.sort(a);这是用Arryays排序时要从0开始要不然会有空指针。
int运行要转化Integer此时花费时间比较长
最后用一个for循环写
package 第二次;
import java.util.*;
public class E {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Integer a[] = new Integer[n];
for(int i=0;i<n;i++){
a[i] = sc.nextInt();
}
Arrays.sort(a);
int k=1;
for(int i=0;i<n;i++){
if(a[i]<k) continue; // 如果这场比赛比当前天数的需求量小,那么一定不会被选择到了。
else k++;
}
System.out.println(k-1);
}
}