数组能排成的最小数(特殊排序)
题目:输入一个正整数数组,把数组里所有整数拼接起来排成一个数,打印出能拼接出的所有数字中最小的一个。如输入数组{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,在竞赛或工作中直接调用即可,就不用在手写了。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
本文来自博客园,作者:|旧市拾荒|,转载请注明原文链接:https://www.cnblogs.com/xiaoyh/p/10290613.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构