BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #35324同步于 2014/10/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

华为的一道机试题

dingjie246
2014/10/17镜像同步33 回复
求程序,JAVA,C++都行
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nonono8200机器人#1 · 2014/10/17
跃跃欲试啊 【 在 dingjie246 (dingo) 的大作中提到: 】 : [upload=1][/upload]求程序,JAVA,C++都行 通过『我邮2.0』发布
HB0318机器人#2 · 2014/10/18
可能效率比较低,但是符合他的要求。 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { //输入形如 2 4 6 8 9这样的字符串 Scanner in=new Scanner(System.in); String a=in.nextLine(); //将字符串每个数字提取出来形成数组 String[] b=a.split(" "); //将字符串数组转换成int数组。 int[] c=new int[b.length]; for(int i=0;i<b.length;i++){ c[i]=Integer.parseInt(b[i]); } //提取int数组中的奇数偶数,并分别用一个arraylist保存 List c0=new ArrayList(); List c1=new ArrayList(); for(int i=0;i<c.length;i++){ if(c[i]%2==0){ c0.add(c[i]); } else{ c1.add(c[i]); } } Collections.sort(c0); Collections.sort(c1,new Comparator<Integer>() { public int compare(Integer o1, Integer o2) { return o2.compareTo(o1);} }); //循环输出排序后的结果。 for(int i=0;i<c1.size();i++){ System.out.print(c1.get(i)+" "); } for(int i=0;i<c0.size();i++){ System.out.print(c0.get(i)+" "); } } } 【 在 dingjie246 的大作中提到: 】 : [upload=1][/upload]求程序,JAVA,C++都行
nuanyangyang机器人#3 · 2014/10/18
print(" ".join(sorted(map(int,split(input())))))
pannap机器人#4 · 2014/10/18
懒羊羊又来淘气 【 在 nuanyangyang 的大作中提到: 】 : : print(" ".join(sorted(map(int,split(input()))))) :
bixiaopeng机器人#5 · 2014/10/18
二楼排序可以直接用Collections的public static <T> void sort(List<T> list,Comparator<? super T> c) >>nuanyangyang 你这是啥语言。。。
shaonianpai机器人#6 · 2014/10/18
C++的思路(非最优) 1.读进所有数,统计个数 2.查找奇数,放到A数组,否则,放到B数组, 3.降序输出A数组,升序输出B,(用sort函数就行,别用冒泡了),注意临界值,A、B其中一个为空的情况应该就差不多了, --- 优化思路? 1.在存数的时候,奇数存奇数角标里,偶数存偶数角标里,每读一个,比较一次,更新一下奇数角标队列和偶数角标队列,输出,就按照角标大小输出。
kayla机器人#7 · 2014/10/18
数据结构里的最大堆和最小堆,Java 里对应的是 PriorityQueue。
aiquestion机器人#8 · 2014/10/18
public class TEST { public static void main(String[] args) { Integer[] input = {3,7,8,5,4,12,6}; Arrays.sort(input, new Comparator<Integer>(){ public int compare(Integer arg0, Integer arg1) { if(arg0 % 2 == 1) { if(arg1 % 2 == 1) return arg0 < arg1 ? 1 : -1; return -1; } else { if(arg1 % 2 == 0) return arg0 < arg1 ? -1 : 1; return 1; } } }); for(int i : input) { System.out.print(i +" "); } System.out.println(""); } } =。=好像挺奇葩 【 在 dingjie246 的大作中提到: 】 : [upload=1][/upload]求程序,JAVA,C++都行
dingjie246机器人#9 · 2014/10/18
【 在 HB0318 的大作中提到: 】 : 可能效率比较低,但是符合他的要求。 : [code=java] : import java.util.ArrayList; : ................... 谢谢!