Problem description
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组 {3,32,321},则打印出这三个数字能排成的最小数字为 321323。
Solution
直接拼接数字的话比较会存在溢出问题,曲线解决。转换为字符串。比较时用comparator。关于comparator的compare()正常s1 > s2返回大于0的数,这是递增排序。若s1 > s2返回小于0 的数,递减排列。
关于lambda表达式: x -> 2 * x 接收一个参数(数字类型),返回其2倍的值 只有一行代码时省略了
Code
1 | public String PrintMinNumber(int[] numbers) { |