剑指 Offer 45. 把数组排成最小的数
length是数组的属性,单独String用.length(),数组的属性就用.length。
这道题也只是知道策略,不知道怎么证明。
剑指 Offer 45. 把数组排成最小的数
class Solution { public String minNumber(int[] nums) { //这里是一个String数组,对应题目中的一个int数组中的每个数字 String[] arr = new String[nums.length]; //将int数组转换成String数组 for (int i = 0; i < nums.length; i++) arr[i] = String.valueOf(nums[i]); //lambda表达式,两个字符串拼接顺序,小的在前面 Arrays.sort(arr, (x, y) -> (x + y).compareTo(y + x)); StringBuilder res = new StringBuilder(); for(int i = 0; i < arr.length; i++) res.append(arr[i]); return res.toString(); } }
浙公网安备 33010602011771号