2.整数奇偶排序
【题目】
给一个 10 个整数的序列,要求对其重新排序。排序要求:
1.奇数在前,偶数在后;
2.奇数按从大到小排序;
3.偶数按从小到大排序。
输入格式
输入一行,包含 10 个整数,彼此以一个空格分开,每个整数的范围是大于等于 0,小于等于 100。
输出格式
按照要求排序后输出一行,包含排序后的 10 个整数,数与数之间以一个空格分开。
Sample Input
4 7 3 13 11 12 0 47 34 98
Sample Output
47 13 11 7 3 0 4 12 34 98
【思路】
先分奇偶,然后分别排序,注意可变数组的写法,和默认的排序顺序。
【代码】
public static int[] coupons(int[] g) { ArrayList<Integer> odd = new ArrayList<>(); ArrayList<Integer> eve = new ArrayList<>(); for (int i : g) { if (i % 2 == 1) { odd.add(i); } else { eve.add(i); } } Collections.sort(eve); Collections.sort(odd, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { if(o1>o2){ return -1; }else if(o1<o2){ return 1; } return 0; } }); int i=0; for(int x:odd){ g[i++] = x; } for(int x:eve){ g[i++] = x; } return g; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理