import
java.util.ArrayList;
public
class
Solution {
public
String PrintMinNumber(
int
[] numbers){
int
[] clone = numbers.clone();
qsort(clone,
0
,clone.length-
1
);
StringBuilder sb=
new
StringBuilder();
for
(
int
i:clone){
sb.append(i);
}
return
sb.toString();
}
public
void
qsort(
int
[] arr,
int
left,
int
right){
if
(left < right){
int
main_number = arr[right];
int
small_cur = left;
for
(
int
j = left;j<right;j++){
if
(isSmall(String.valueOf(arr[j]),String.valueOf(main_number))){
int
temp = arr[j];
arr[j] = arr[small_cur];
arr[small_cur] = temp;
small_cur++;
}
}
arr[right]= arr[small_cur];
arr[small_cur] = main_number;
qsort(arr,
0
,small_cur-
1
);
qsort(arr,small_cur+
1
,right);
}
}
public
boolean
isSmall(String m,String n){
String left = m+n;
String right = n+m;
boolean
result =
false
;
for
(
int
i =
0
;i<left.length();i++){
if
(left.charAt(i)<right.charAt(i))
return
true
;
else
if
(left.charAt(i)>right.charAt(i))
return
false
;
}
return
result;
}
}
|
把数组排成最小的数
最新推荐文章于 2022-11-27 21:41:43 发布