-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlargest-number.java
74 lines (71 loc) · 2 KB
/
largest-number.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class Solution {
public String largestNumber(int[] nums) {
String[] numstring=new String[nums.length];
for(int i=0;i<nums.length;i++){
numstring[i]=Integer.toString(nums[i]);
}
Arrays.sort(numstring,(a,b)->(b+a).compareTo(a+b));
if(numstring[0].equals("0")){
return "0";
}
StringBuilder ans=new StringBuilder();
for(String str:numstring){
ans.append(str);
}
return ans.toString();
}
}
// class Solution {
// public void merge(int[]arr,int low,int mid,int high)
// {
// int i=low;int j=mid+1;
// int[]temp=new int[high-low+1];
// int k=0;
// while(i<=mid && j<=high) {
// long n=10,m=10;
// while(arr[i]>=n){
// n*=10;
// }
// while(arr[j]>=m){
// m*=10;
// }
// long l=arr[i]*m+arr[j];
// long r=arr[j]*n+arr[i];
// if(l>r){
// temp[k++]=arr[i++];
// }
// else{
// temp[k++]=arr[j++];
// }
// }
// while(i<=mid){
// temp[k++]=arr[i++];
// }
// while(j<=high) {
// temp[k++]=arr[j++];
// }
// k=0;
// int m=low;
// while(m<=high){
// arr[m++]=temp[k++];
// }
// }
// public void mergesort(int[]arr,int low,int high) {
// if(low==high){
// return ;
// }
// int mid=low+(high-low)/2;
// mergesort(arr,low,mid);
// mergesort(arr,mid+1,high);
// merge(arr,low,mid,high);
// }
// public String largestNumber(int[] nums) {
// mergesort(nums,0,nums.length-1);
// StringBuilder str=new StringBuilder();
// for(int i=0;i<nums.length;i++)
// {
// str.append(String.valueOf(nums[i]));
// }
// return (str.charAt(0)=='0')?"0":str.toString();
// }
// }