华为2013 大连理工 输入5个身高值[160~190之间]

发布时间:2017-3-26 13:30:42 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"华为2013 大连理工 输入5个身高值[160~190之间]",主要涉及到华为2013 大连理工 输入5个身高值[160~190之间]方面的内容,对于华为2013 大连理工 输入5个身高值[160~190之间]感兴趣的同学可以参考一下。

某学校举行活动,需要从5名同学里面挑出两位身高最接近的做司仪,输入5个身高值[160~190之间],输出最接近的两个身高。如果身高差值出现相同情况,则输出身高最高的两个。输出身高 顺序为先小后大。   运行时间限制: 无限制 内存限制: 无限制 输入: 输入5个身高值[160~190之间],以空格隔开   输出: 输出最接近的两个身高,如果身高差值出现相同情况,则输出身高最高的两个,输出身高顺序为先小后大。   样例输入: 175 177 178 181 180 样例输出: 180 181   public void getShenGao(){ Scanner sc=new Scanner(System.in); String[] input=sc.nextLine().split(" "); int len=input.length; LinkedHashMap<String,Integer> lhm=new LinkedHashMap<String,Integer>(); for(int i=0;i<len-1;i++){ for(int j=i+1;j<len;j++){ int res=Integer.valueOf(input[i])-Integer.valueOf(input[j]); if(res<0){ lhm.put(input[i]+" "+input[j], -res); }else{ lhm.put(input[j]+" "+input[i], res); } } } List<Map.Entry<String,Integer>> list=new ArrayList<Map.Entry<String,Integer>>(lhm.entrySet()); Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){//按身高差值大小排序 public int compare(Entry<String, Integer> o1,Entry<String, Integer> o2) { return o1.getValue()-o2.getValue();}}); int min=list.get(0).getValue(); List<String> li=new ArrayList<String>(); for(Map.Entry<String,Integer> map:list){ if(map.getValue()==min){ li.add(map.getKey()); } } Collections.sort(li);//差值相同时按身高排序 System.out.println(li.get(li.size()-1)); }  

上一篇:Floyd算法
下一篇:高仿launcher和墨迹左右拖动效果

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款