第七周练习(J)
程序员文章站
2022-07-14 14:14:15
...
题目:
![
题意:将已有的人分到若干组,且改组经验不足的人要在人数大于它不足的经验的组里,就是一个组的人的经验最大不足数等于该组人数
思路:对已有的人进行排序,从前到后进行遍历,用max记录改组的人的最大不足经验,用num记录该组人数,如果两个值相等,则对ans++
AC代码:
import java.io.*;
import java.math.*;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
for(int t=sc.nextInt();t>0;t--) {
int n=sc.nextInt();
int arr[]=new int [n];
int max=0,num=0,ans=0;
for(int i=0;i<n;i++) arr[i]=sc.nextInt();
Arrays.sort(arr);
for(int i=0;i<n;i++){
max=Math.max(max,arr[i]);
num++;
if(max==num) {
ans++;
num=0;
}
}
System.out.println(ans);
}
}
}