博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客(32)把数组排成最小的数
阅读量:5111 次
发布时间:2019-06-13

本文共 1362 字,大约阅读时间需要 4 分钟。

//    题目描述//    输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。//    例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。    public static String PrintMinNumber(int[] numbers) {        String result ="";        TreeSet
strings = new TreeSet
(); Permutation(numbers, 0, strings); if (strings.size()>0){ result = strings.first(); } return result; } public static void Permutation(int[] ints, int start, TreeSet
arrayList) { //结束条件 if (start > ints.length - 1 || ints == null) { return; } if (start == ints.length - 1) { arrayList.add(intToString(ints)); } else { for (int i = start; i < ints.length; i++) { if (i == start) { //start 是第一个 Permutation(ints, start + 1, arrayList); } else { //start 不是第一个 //交换 swap(ints, start, i); Permutation(ints, start + 1, arrayList); //恢复 swap(ints, start, i); } } } } public static String intToString(int[] ints) { StringBuilder stringBuilder = new StringBuilder(); for (int i=0;i

 

转载于:https://www.cnblogs.com/kaibing/p/9040756.html

你可能感兴趣的文章
简明Linux命令行笔记:chmod
查看>>
简明Linux命令行笔记:tar
查看>>
Red and Black(poj-1979)
查看>>
分布式锁的思路以及实现分析
查看>>
vue v-for下图片src显示失败,404错误
查看>>
腾讯元对象存储之文件删除
查看>>
jdk环境变量配置
查看>>
Hbase basic
查看>>
安装 Express
查看>>
包含列的索引:SQL Server索引的阶梯级别5
查看>>
myeclipse插件安装
查看>>
浙江省第十二届省赛 Beauty of Array(思维题)
查看>>
NOIP2013 提高组 Day1
查看>>
个人对vue生命周期的理解
查看>>
cocos2dx 3.x simpleAudioEngine 长音效被众多短音效打断问题
查看>>
存储(硬件方面的一些基本术语)
查看>>
观察者模式
查看>>
转】MyEclipse使用总结——MyEclipse文件查找技巧
查看>>
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>
Win磁盘MBR转换为GUID
查看>>