今日头条3月24日笔试第四题

import java.util.Scanner;
import java.util.Arrays;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
String[] str=in.nextLine().split(" ");
float n_sum=0;
float n_ave=0;
float m_sum=0;
float m_ave=0;
int count=0;
int n=Integer.parseInt(str[0]);
int m=Integer.parseInt(str[1]);
int[] n_arr=new int[n];
for(int i=0;i<n;i++){
n_arr[i]=in.nextInt();
n_sum+=n_arr[i];
}
n_ave=n_sum/n;
int[] m_arr=new int[m];
for(int i=0;i<m;i++){
m_arr[i]=in.nextInt();
m_sum+=m_arr[i];
}
m_ave=m_sum/m;
Arrays.sort(n_arr);
Arrays.sort(m_arr);
int temp=0;
//System.out.println(n_ave);
//System.out.println(m_ave);
while(m_arr[temp]<n_ave)
temp++;
while(m_arr[temp]<m_ave){
count++;
//System.out.println(m_arr[temp]);
//System.out.println(m_arr[temp]);
//System.out.println(m_arr[temp]);
n=n+1;
m=m-1;
n_sum+=m_arr[temp];
n_ave=n_sum/(n);
m_sum-=m_arr[temp];
m_ave=m_sum/(m);
m_arr[temp]=0;
temp++;
//System.out.println(n_ave);
//System.out.println(m_ave);


}
System.out.println(count);
//System.out.println(m_ave);
}
}
}
测试样例:3 5
1 2 5
2 3 4 5 6
还有一些其他的情况,边界条件这类的,可能没考虑周全。
#实习##笔试题目##算法工程师#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务