版权声明:感谢阅读,欢迎批评指正。 https://blog.csdn.net/skyejy/article/details/88756299
package 机试;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.Arrays;
public class D3_23_1 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String line=bf.readLine();
int child=Integer.parseInt(line);
String str[]=bf.readLine().split(" ");
int h[]=new int[child];
for(int i=0;i<child;i++)
{
h[i]=Integer.parseInt(str[i]);
}
Arrays.sort(h);
String line2=bf.readLine();
int chocolate=Integer.parseInt(line2);
String str2[]=bf.readLine().split(" ");
int w[]=new int[chocolate];
for(int i=0;i<chocolate;i++)
{
w[i]=Integer.parseInt(str2[i]);
}
Arrays.sort(w);
int times=0;
int i=0;
int j=0;
while(i<child&&j<chocolate)
{
if(w[j]>=h[i])
{
times++;
i++;
}
j++;
}
System.out.println(times);
}
}
思路:获取输入的两个数组,依次调用函数排序。然后进行一个比较的操作:
这部分要好好理解一下:
int times=0;
int i=0;
int j=0;
while(i<child&&j<chocolate)
{
if(w[j]>=h[i])
{
times++;
i++;
}
j++;
}
System.out.println(times);