Every day a Leetcode
题目来源:3264. K 次乘运算后的最终数组 I
解法1:模拟
操作:遍历数组 nums,找到其中的最小值 x,如果存在多个最小值,选择最前面的一个。将它乘以 multiplier。
共执行 k 次操作。
代码:
/*
* @lc app=leetcode.cn id=3264 lang=cpp
*
* [3264] K 次乘运算后的最终数组 I
*/
// @lc code=start
class Solution
{
public:
vector<int> getFinalState(vector<int> &nums, int k, int multiplier)
{
int n = nums.size();
while (k--)
{
int min_idx = 0;
for (int i = 1; i < n; i++)
if (nums[i] < nums[min_idx])
min_idx = i;
nums[min_idx] *= multiplier;
}
return nums;
}
};
// @lc code=end
结果:
复杂度分析:
时间复杂度:O(n * k),其中 n 是数组 nums 的长度。
空间复杂度:O(1)。
标签:Leetcode3264,运算,idx,min,int,nums,数组,lc From: https://blog.csdn.net/ProgramNovice/article/details/141958011