一、题目内容
二、题解
解法1:
思路
代码
public class Solution { /** * 最大数 * @param nums int整型一维数组 * @return string字符串 */ public String solve (int[] nums) { // write code here quickSort(nums,0,nums.length-1); StringBuilder sb = new StringBuilder(); for(int num:nums){ sb.append(num); } String ans = sb.toString(); if(ans.startsWith("0")){ return "0"; }else{ return ans; } } public void quickSort(int[] nums,int low,int high){ if (nums == null || nums.length == 1) { return; } if (low >= high) { return; } int partition = partition(nums, low, high); quickSort(nums,low,partition-1); quickSort(nums,partition+1,high); } private int partition(int[] nums,int low,int high){ int left = low,right = high; int target = nums[left]; while(left<right){ while(left<right && compare(target,nums[right])){ right--; } nums[left] = nums[right]; while(left<right && compare(nums[left],target)){ left++; } nums[right] = nums[left]; } nums[left] =target; return left; } private boolean compare(int a,int b){ return Integer.parseInt(a+""+b) - Integer.parseInt(b+""+a) >= 0; }}