数组能排成的最小数(特殊排序)
2023-03-14 09:45:31 时间
题目:输入一个正整数数组,把数组里所有整数拼接起来排成一个数,打印出能拼接出的所有数字中最小的一个。如输入数组{3,32,321},则输出这三个数字能排成的最小数字为:321323
代码:
1 import java.util.Arrays; 2 import java.util.Comparator; 3 4 public class MinCombineNum { 5 6 public static void main(String[] args) { 7 Integer []arr = {32,3,321}; 8 int res = f(arr); 9 System.out.println("能排成的最小数字为:"+res); 10 } 11 12 /** 13 * 注意这儿的参数类型为Integer 14 * @param arr 15 * @return 16 */ 17 static int f(Integer []arr){ 18 // 自定义比较规则 灵活使用JavaAPI 19 Arrays.sort(arr,new Comparator<Integer>() { 20 21 @Override 22 public int compare(Integer o1, Integer o2) { 23 String s1 = o1+""+o2; 24 String s2 = o2+""+o1; 25 return s1.compareTo(s2); 26 } 27 28 }); 29 StringBuilder sb = new StringBuilder(); 30 for (int i = 0; i < arr.length; i++) { 31 sb.append(arr[i]); 32 } 33 return Integer.parseInt(sb.toString()); 34 } 35 }
结果:
总结:这道题告诉我们要灵活使用JavaAPI,在竞赛或工作中直接调用即可,就不用在手写了。
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的