* @Description 把数组排成最小的数* @问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。* 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。* @思路:* 1:将数组转化为list;* 2:对list进行排序,重写compara构造方法,最小排序;* 3:对排序后的list进行累加;
jdk中关于重写compare方法:

compareTo方法::

package LG.nowcoder;import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;/*** @Author liguo* @Description 把数组排成最小的数* @问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。* 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。* @思路:* @Data 2018-08-17 8:57*/
public class Solution13 {public String PrintMinNumber(int [] numbers) {int n;String s="";ArrayList<Integer> list=new ArrayList<Integer>();n=numbers.length;for(int i=0;i<n;i++){list.add(numbers[i]);//将数组放入arrayList中
        }//实现了Comparator接口的compare方法,原来的compare方法是从小到大排序,所以需要重写;//将集合元素按照compare方法的规则进行排序Collections.sort(list,new Comparator<Integer>(){@Overridepublic int compare(Integer int1, Integer int2) {String s1=int1+""+int2;String s2=int2+""+int1;return s1.compareTo(s2) ;           //对于string进行从小到大的排序;
            }});for(int j:list){s+=j;}return s;}
}

转载于:https://www.cnblogs.com/liguo-wang/p/9491557.html

算法:把数组排成最小的数相关推荐

  1. 数据结构与算法--将数组排成最小的数

    将数组排成最小的数 题目:输入一个正整数的数组,将数组中所有数字拼接在一起排列成一个新的数,打印能拼接出来的所有数字中最小的一个, 案例:输入数组{12,4,55},则能打印出最小的数组是:12455 ...

  2. [PHP] 算法-把数组排成最小的数的PHP实现

    输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323.解法1 1.数组排序,使 ...

  3. printf打印数组_(45)C++面试之把数组排成最小的数

    // 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...

  4. 【剑指offer-Java版】33把数组排成最小的数

    把数组排成最小的数 难点在于比较规则的确定以及比较规则的正确性证明 比如:仅仅是局部的两个数字的顺序较小,如何保证整个数组按此规则进行排序后达到全局的较小 书中关于这一点的证明直接用的反证法,忘的差不 ...

  5. 33:把数组排成最小的数

    /*** 面试题33:把数组排成最小的数* 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这三个数字能排成的 ...

  6. 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格

    一.把数组排成最小的数: 1.题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 ...

  7. 【LeetCode】剑指 Offer 45. 把数组排成最小的数

    [LeetCode]剑指 Offer 45. 把数组排成最小的数 文章目录 [LeetCode]剑指 Offer 45. 把数组排成最小的数 package offer;import java.uti ...

  8. 列表转化成数组_30. 把数组排成最小的数

    把数组排成最小的数 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为3213 ...

  9. 面试题45. 把数组排成最小的数

    题目: 面试题45. 把数组排成最小的数 题解: 1. 题解一: 2. 题解二: * 解题思路:* 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关 ...

最新文章

  1. pandas dataframe数据聚合groupby、agg、privot基于sum统计详解及实例
  2. 19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理...
  3. 对口高考计算机原理,对口高考计算机原理5.doc
  4. 基于springboot框架的java学生管理系统
  5. 设置导航条上的主题一颜色
  6. C#多线程强制退出程序
  7. java写数据库连接_JAVA写简单的数据库连接池
  8. PCB 工程系统 模拟windows域帐号登入
  9. 打架打出来的牛逼城市!
  10. imx6ull设备树
  11. 测试5g网速的软件排行榜,2021网络测速app排行榜-手机网速测试软件推荐
  12. HTML5七夕情人节表白网页(花瓣相册表白) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白
  13. adb 切换usb模式_adb调试命令,adb强制打开usb调试,adb命令打开usb调试
  14. 数据结构期末作业思路分享——库存管理小程序(云数据库)
  15. Recipe 1.5. Trimming Space from the Ends of a String(Python Cookbook)
  16. 程序员可迁移技能的培养
  17. 邵东一中2021年高考成绩查询,湖南邵阳2020高考成绩,邵东一中势头强劲,包揽邵阳市文理状元...
  18. vs2013编译报错,未能将obj/..复制到bin/..,bin/...文件正被另一进程时候用
  19. 快速切题 usaco ariprog
  20. java一个式子开根号语句_[基础篇]-基础知识整理-03-JAVA中的运算符

热门文章

  1. kafka php 0.8,php5.6 centos7 kafka0.8.1
  2. Mapreduce的序列化和流量统计程序开发
  3. Linux命令之ifconfig
  4. 前后端分离的思考与实践(二)
  5. BZOJ1922 SDOI2010 大陆争霸 最短路
  6. MySQL的安装及使用教程
  7. loadrunner11录制不成功解决方法(收集)
  8. 华为3Com Quidway 2116-SI
  9. Java自动注入默认_java – 自动注入与Spring
  10. 供应商寄售库存管理_【论文解读】物流联合外包下库存管理模式对供应链运作的影响...