1. Проблема
Студентов просят встать в порядке неубывания роста для ежегодной фотографии.
Возвращает минимальное количество учеников, которые должны двигаться, чтобы все ученики стояли в порядке неубывания роста.
Пример 1:
Input: heights = [1,1,4,2,1,3] Output: 3
Ограничения:
1 <= heights.length <= 1001 <= heights[i] <= 100
2. Описание
3. Требует внимания
Эта проблема не спрашивает вас, сколько раз нужно переключить число или сколько чисел нужно переключить, если они больше, чем следующие. Поэтому, если некоторые числа занимают правильные позиции, их не следует перемещать.
Например: [1,1,7,3,4,3], если считать числа меньше 7, будет 3. Фактически, вы можете переместить только 7 и 5 так, чтобы они были [1,1,3,3 ,4,7], поэтому ответ равен 2. В этом случае 3 и 4 находятся в правильных позициях, поэтому нам больше не нужно двигаться.
4. Рекомендации по ценностям
- Некоторые наборы с правильными позициями: [1,1,7,3,4,3], [1,1,5,1,1,1]
- Один номер внутри: [1], [2], [3]
- Все убывающие наборы: [7,6,5,4,3,2,1]
5. Справочный код (биты 95,24%, 16 мс)
Шаги:
- Поскольку некоторые числа будут находиться в правильных местах, отсортируйте массив высот, чтобы увидеть, что в итоге получится, и сравните их друг с другом.
- Если два числа являются разными числами, res плюс один.