前言
每天和你一起刷 LeetCode 每日一题~
小聊两句
1、今天是 12.13 南京大屠杀国家公祭日。铭记历史,勿忘国耻。
2、今天早上去看了 TGA 年度游戏颁奖,小机器人拿下了年度最佳游戏,所有人都震惊了,大伙纷纷问到,谁是小机器人?
浪费了我一个早上,早知道去学习了 . . .
LeetCode 启动!
题目:K 次乘运算后的最终数组 I
代码与解题思路
先读题:题目给了一个数组,k 次操作机会,和 multiplier,让我们在每次操作的时候对数组中最小的元素乘上 multiplier,返回进行了 k 次操作的数组
这里的数据返回给的很小,所以我们可以直接通过暴力的做法实现代码
核心思路:遍历 k 次操作,用 miIdx 来维护数组中最小元素的下标,然后在每轮操作的时候让最小元素乘上 multiplier,代码如下:
func getFinalState(nums []int, k int, multiplier int) []int {
for i := 0; i < k; i++ {
miIdx := 0
for j, v := range nums {
if nums[miIdx] > v { // 维护最下元素的下标
miIdx = j
}
}
nums[miIdx] *= multiplier
}
return nums
}
每天进步一点点,我们明天不见不散~
可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。