六一儿童节

六一儿童节,老师带了很多好吃的巧克力到幼儿园。每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目。老师的目标是将巧克力分发给孩子们,使得最多的小孩上台表演。可以保证每个w[i]> 0且不能将多块巧克力分给一个孩子或将一块分给多个孩子。

import java.util.*;
public class Main{
    public static void  main(String args[]){
        Scanner sc=new Scanner(System.in);
        int len1=Integer.parseInt(sc.nextLine());
        String student[]=sc.nextLine().split("\\s+");
       
        int len2=Integer.parseInt(sc.nextLine());       
        String chocolate[]=sc.nextLine().split("\\s+");
        int stu[]=new int[len1];
        int cho[]=new int[len2];
       // int stu[]=new int[len1];
        //int cho[]=new int[len2];
       for(int i=0;i<len1;i++)
       {
           stu[i]=(Integer.parseInt(student[i]));
       }
         for(int i=0;i<len2;i++)
       {
           cho[i]=(Integer.parseInt(chocolate[i]));
       }
        Arrays.sort(stu);
        Arrays.sort(cho);
        
        int count=0;
        int k=len2-1;
       for(int j=len1-1;j>=0;j--)
       {
           if((k>=0)&&(stu[j]<=cho[k])){//数组越界条件放在最前面
               k--;
               count++;
           }
         
       }
        System.out.println(count);
    }
    
}

这个题呢是一个很简单的题,从这道题呢我获取了Array.sort的用法·,还有就是两个数组的长度可能不是一样的,所以需要分别判断两个数组是否越界,另外须将数组越界的判断的条件放到最前面

猜你喜欢

转载自blog.csdn.net/qq_30035749/article/details/88388142