【从零开始的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;
    }
}
相关推荐
橙淮1 分钟前
二叉树核心概念与Java实现详解
数据结构·算法
吴声子夜歌23 分钟前
Java——线程的基本协作机制
java·线程协作
米罗篮27 分钟前
DSU并查集 & 拓展欧几里得-逆元
c++·经验分享·笔记·算法·青少年编程
橙淮27 分钟前
双指针法:高效算法解题的利器
算法
初心未改HD37 分钟前
深度学习之MLP与反向传播算法详解
人工智能·深度学习·算法
刀法如飞39 分钟前
【Go 字符串查找的 20 种实现方式,用不同思路解决问题】
人工智能·算法·go
谙弆悕博士44 分钟前
【附C++源码】从零开始实现 2048 游戏
java·c++·游戏·源码·项目实战·2048
独自归家的兔1 小时前
OCPP 1.6 协议详解:GetLocalListVersion 获取本地列表版本指令
java·后端·物联网·spring·ocpp1.6
技术小黑3 小时前
CNN算法实战系列03 | DenseNet121算法实战与解析
pytorch·深度学习·算法·cnn