LeetCode Top Interview Questions 179. Largest Number (Java版; Medium)
题目描述
Given a list of non negative integers, arrange them such that they form the largest number.
Example 1:
Input: [10,2]
Output: "210"
Example 2:
Input: [3,30,34,5,9]
Output: "9534330"
Note: The result may be very large, so you need to return a string instead of an integer.
classSolution{privateclassLargerNumberComparatorimplementsComparator<String>{@Overridepublicintcompare(String a, String b){
String order1 = a + b;
String order2 = b + a;return order2.compareTo(order1);}}public String largestNumber(int[] nums){// Get input integers as strings.
String[] asStrs =newString[nums.length];for(int i =0; i < nums.length; i++){
asStrs[i]= String.valueOf(nums[i]);}// Sort strings according to custom comparator.
Arrays.sort(asStrs,newLargerNumberComparator());// If, after being sorted, the largest number is `0`, the entire number// is zero.if(asStrs[0].equals("0")){return"0";}// Build largest number from sorted array.
String largestNumberStr =newString();for(String numAsStr : asStrs){
largestNumberStr += numAsStr;}return largestNumberStr;}}
LeetCode Top Interview Questions 179. Largest Number (Java版; Medium)
welcome to my blogLeetCode Top Interview Questions 179. Largest Number (Java版; Medium)题目描述Given a list of non negative integers, arrange them such that they form the largest number.Example 1:In...