Я работал над решением этой проблемы из leetcode
https://leetcode.com/problems/largest-number/description/
Я смотрел на решение и заметил, что сортировка ведет себя по-разному, когда ввод - число против, когда ввод - строка (неподвижное число).
Введите:
[3,30,34,5,9]
Код:
String[] numstoString = new String[nums.length];
for(int i=0;i<nums.length;i++){
numstoString[i] = Integer.toString(nums[i]);
}
Arrays.sort(numstoString);
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
System.out.println(Arrays.toString(numstoString));
Выход:
[3, 5, 9, 30, 34]
[3, 30, 34, 5, 9]
Может ли кто-нибудь просветить меня, как «число» отличается от числа, когда дело доходит до сортировки.