💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
给定整数数组nums、整数k和乘数,需对nums执行k次操作:每次找到最小值并将其替换为乘以乘数的结果。最终返回修改后的数组。
🎯
关键要点
-
给定整数数组nums、整数k和乘数,需要对nums执行k次操作。
-
每次操作中找到nums中的最小值x,并将其替换为x乘以乘数。
-
如果最小值有多个出现,选择第一个出现的。
-
最终返回修改后的数组。
-
示例1:输入为[2,1,3,5,6],k=5,乘数=2,输出为[8,4,6,5,6]。
-
示例2:输入为[1,2],k=3,乘数=4,输出为[16,8]。
-
复杂度分析:时间复杂度为O(k x n),空间复杂度为O(1)。
❓
延伸问答
如何对数组执行K次乘法操作?
每次找到数组中的最小值,将其替换为该值乘以乘数,重复K次。
给定数组[2,1,3,5,6],k=5,乘数=2,最终结果是什么?
[8,4,6,5,6]
时间复杂度和空间复杂度分别是多少?
时间复杂度为O(k x n),空间复杂度为O(1)。
如果最小值有多个,如何选择?
选择第一个出现的最小值进行替换。
如何实现这个操作的代码?
可以使用优先队列(最小堆)来高效地查找和更新最小值。
对于数组[1,2],k=3,乘数=4,最终结果是什么?
[16,8]
➡️