В этом случае у меня есть массив из 4 целых чисел от 0 до 256, которые нужно отсортировать по возрастанию.Например:
[0, 12, 211, 4]
когда я сортирую, я получаю (конечно): [0, 4, 12, 211]
Я просто получаю целочисленное значение, запрашивая Array[0]
(первый индексированный)
Теперь моя проблема в том,много раз, есть равные значения в массиве.как:
[0, 0, 0, 12] // already sorted
В этих случаях мне нужно выбрать случайный индекс из самых верхних равных значений (0,0,0
), другие возможности (после сортировки):
[211, 211, 211, 255] // results in 0 OR 1 OR 2
[13, 13, 125, 256] // results in 0 OR 1
[4, 211, 211, 255] // results in 0
[0, 1, 1, 4] // results in 0;
, поэтому мне нужно выбрать случайный индекс из самых верхних значений в отсортированном по возрастанию массиве .Это должно быть сделано при сортировке или более простым способом, чем много if-elses
?