【从零开始的LeetCode-算法】3264. K 次乘运算后的最终数组 I

给你一个整数数组 nums ,一个整数 k 和一个整数 multiplier

你需要对 nums 执行 k 次操作,每次操作中:

  • 找到 nums 中的 最小x ,如果存在多个最小值,选择最 前面 的一个。
  • x 替换为 x * multiplier

请你返回执行完 k 次乘运算之后,最终的 nums 数组。

示例 1:

**输入:**nums = [2,1,3,5,6], k = 5, multiplier = 2

输出:[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:

**输入:**nums = [1,2], k = 3, multiplier = 4

输出:[16,8]

解释:

操作 结果
1 次操作后 [4, 2]
2 次操作后 [4, 8]
3 次操作后 [16, 8]

提示:

  • 1 <= nums.length <= 100
  • 1 <= nums[i] <= 100
  • 1 <= k <= 10
  • 1 <= multiplier <= 5

我的解答:

java 复制代码
class Solution {
    public int[] getFinalState(int[] nums, int k, int multiplier) {
        for(int i = 0;i < k ; i++){
            int p = 0;
            for(int j = 1; j < nums.length; j++){
                if(nums[p] > nums[j]) p =j;
            }
            nums[p] = nums[p] * multiplier;
        }
        return nums;
    }
}
相关推荐
灵感__idea5 小时前
Hello 算法:贪心的世界
前端·javascript·算法
camellias_6 小时前
【无标题】
java·tomcat
咸鱼2.06 小时前
【java入门到放弃】需要背诵
java·开发语言
澈2076 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
椰猫子6 小时前
Java:异常(exception)
java·开发语言
ambition202427 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_7 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi7 小时前
前缀和差分
算法·图论
代码旅人ing7 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal7 小时前
常见 时间复杂度计算
c++·算法