«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Окончательное состояние массива после операций по умножению k I

Окончательное состояние массива после операций по умножению k I

Опубликовано в 2025-02-04
Просматривать:722

Final Array State After K Multiplication Operations I

3264. Окончательное состояние массива после операций умножения k i

]

сложно: easy

]

темы: array, math, heap (priority queue), simulation

вам дают целочисленные массивы, целое число k и целочисленный множитель.

]

вам нужно выполнить операции K на Nums. В каждой операции:

]
    ]
  • найти минимальное значение x в Nums. Если есть несколько случаев минимального значения, выберите то, что появляется First .
  • ]
  • заменить выбранное минимальное значение x на x * Multiplier.
  • ]
]

return ] целочисленный массив, обозначающий окончательное состояние Nums после выполнения всех k операций .

]

пример 1:

]
    ]
  • ] input: nums = [2,1,3,5,6], k = 5, multipier = 2
  • ] output: [8,4,6,5,6]
  • Объяснение:
]

| Операция | Результат |
| ------------------- | ----------------- |
| После операции 1 | [2, 2, 3, 5, 6] |
] | После операции 2 | [4, 2, 3, 5, 6] |
] | После операции 3 | [4, 4, 3, 5, 6] |
] | После операции 4 | [4, 4, 6, 5, 6] |
] | После операции 5 | [8, 4, 6, 5, 6] |

]

пример 2:

    ]
  • ] input: nums = [1,2], k = 3, multiplier = 4
  • ]
  • ] output: [16,8]
  • ]
  • Объяснение:
]

| Операция | Результат |
| ------------------- | ----------------- |
| После операции 1 | [2, 2, 3, 5, 6] |
] | После операции 2 | [4, 2, 3, 5, 6] |
] | После операции 3 | [4, 4, 3, 5, 6] |
] | После операции 4 | [4, 4, 6, 5, 6] |
] | После операции 5 | [8, 4, 6, 5, 6] |

]

ограничения:

    ]
  • 1 ]
  • 1 ]
  • 1 ]
  • 1 ]
]

Намекать:

    ]
  1. поддерживать сортированные пары (nums [index], index) в очереди приоритета.
  2. ]
  3. моделируйте операцию k times.
  4. ]
]

Решение:

нам нужно реализовать операции, как описано в операторе проблемы. Ключевые шаги - найти минимальное значение в массиве, замените его на значение, умноженное на заданный множитель, а затем повторить этот процесс k раз.

]

, учитывая, что нам нужно выбрать первое появление минимального значения и заменить его, мы можем подойти к этому, отслеживая индекс минимального значения во время каждой операции. Реализация PHP будет использовать очередь приоритетов (MIN-HEAP) для эффективного извлечения и обновления минимального значения во время каждой операции.

]

давайте реализуем это решение в PHP: 3264. Окончательное состояние массива после операций умножения k i
]

]

]

] Объяснение:

]
    ]
  1. ] инициализация : Loop K Times, так как вам нужно выполнить k операции.
  2. ] найти минимальное значение :
      ]
    • итерация над массивными Nums, чтобы найти наименьшее значение и его первого индекса возникновения .
    • ]
    ]
  3. ]
  4. ] умножает минимальное значение :
      ]
    • замените значение в идентифицированном индексе продуктом текущего значения и множителя.
    ]
  5. ]
  6. ] Повторить:
      ]
    • Повторите вышеуказанные шаги для k итераций.
    • ]
    ]
  7. ]
  8. ] вернуть окончательный массив :
      ]
    • возвращает модифицированный массив после всех операций.
    • ]
    ]
  9. ]
]

] Тест вывод

]

для предоставленных тестовых случаев:

]

] Тестовый случай 1:

]

Вход:

]
$nums = [2, 1, 3, 5, 6];
$k = 5;
$multiplier = 2;
]

Выход:

]
Output: [8, 4, 6, 5, 6]
]

] Тестовый случай 2:

]

Вход:

]
$nums = [1, 2];
$k = 3;
$multiplier = 4;
]

Выход:

]
Output: [16, 8]
]

] Сложность

]
    ]
  1. ]

    сложности времени :

      ]
    • для каждой из операций K, поиск минимального значения в массиве требует O (n).
    • ]
    • total: o (k x n) , где n - размер массива.
    • ]
    ]
  2. ]
  3. ]

    Сложность пространства :

    ]
      решение использует
    • o (1) дополнительное пространство. ]
    • ]
    ]
  4. ]
это решение придерживается ограничений и дает ожидаемые результаты для всех тестовых случаев.

контактные ссылки ]

Если вы нашли эту серию полезной, пожалуйста, рассмотрите возможность предоставить

Repository звезду на GitHub или поделиться постом в ваших любимых социальных сетях? Ваша поддержка будет много значить для меня! ]

, если вы хотите более полезный контент, подобный этому, не стесняйтесь следить за мной:

]

]
  • LinkedIn ]
  • github
  • ]
] ]
Заявление о выпуске Эта статья воспроизведена в: https://dev.to/mdarifulhaque/3264-final-rray-state-after-k-multiplication-operations-i-4l5b?
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3