Кажется, Collections.sort выдает неверные результаты ⇐ JAVA
-
Anonymous
Кажется, Collections.sort выдает неверные результаты
Следующий код работает, за исключением определенных входных данных.
Например, следующее входное значение -1795085364 остается последним значением, несмотря на то, что оно является наименьшим. Я использую Java 13.
{306474574, 642543743, -752837577, 1030910205, 353252387, -1028696876, 2145575295, 2142057380, 66066294, -1795085364};
Private static void sortAndFilter(int[] nums) { List numsIndexed = новый ArrayList(nums.length); for( int i = 0 ; i< nums.length; i++){ int[] valAndIndex = {nums,i }; numsIndexed.add( valAndIndex ); } Collections.sort(numsIndexed, (a,b) -> a[0] - b[0]); //остальная часть кода здесь }
Следующий код работает, за исключением определенных входных данных.
Например, следующее входное значение -1795085364 остается последним значением, несмотря на то, что оно является наименьшим. Я использую Java 13.
{306474574, 642543743, -752837577, 1030910205, 353252387, -1028696876, 2145575295, 2142057380, 66066294, -1795085364};
Private static void sortAndFilter(int[] nums) { List numsIndexed = новый ArrayList(nums.length); for( int i = 0 ; i< nums.length; i++){ int[] valAndIndex = {nums,i }; numsIndexed.add( valAndIndex ); } Collections.sort(numsIndexed, (a,b) -> a[0] - b[0]); //остальная часть кода здесь }
Мобильная версия