Введение
В этом практическом занятии мы будем изучать концепцию нахождения индекса последней вставки в отсортированном массиве. Мы узнаем, как проверить, отсортирован ли массив по убыванию, и как использовать Array.prototype.reverse() и Array.prototype.findIndex(), чтобы найти соответствующий последний индекс, куда должен быть вставлен элемент. В конце этого практического занятия у вас будет лучше понимание того, как поддерживать порядок сортировки массива.
Описание индекса последней вставки в отсортированном массиве
Чтобы найти наибольший индекс, куда значение должно быть вставлено в массив, чтобы сохранить его порядок сортировки, следуйте этим шагам:
- Во - первых, нестрого проверьте, отсортирован ли массив по убыванию.
- Затем используйте
Array.prototype.reverse()иArray.prototype.findIndex(), чтобы найти соответствующий последний индекс, куда должен быть вставлен элемент.
Вот код функции:
const sortedLastIndex = (arr, n) => {
const isDescending = arr[0] > arr[arr.length - 1];
const index = arr
.reverse()
.findIndex((el) => (isDescending ? n <= el : n >= el));
return index === -1 ? 0 : arr.length - index;
};
Вот пример использования функции:
sortedLastIndex([10, 20, 30, 30, 40], 30); // 4
Для начала практики программирования откройте Терминал/SSH и введите node.
Резюме
Поздравляем! Вы завершили практическое занятие по нахождению индекса последней вставки в отсортированном массиве. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.