当前位置: 首页 > 图灵资讯 > 技术篇> K 乘法运算后的最终数组状态 I

K 乘法运算后的最终数组状态 I

来源:图灵教育
时间:2024-12-25 17:18:32

k 乘法运算后的最终数组状态 i

  • 重要链接
  • 直觉
  • 解决方案
  • 可视化
重要链接
  • 问题:3264。k 乘法运算后的最终数组状态 i
  • 链接到父页面:模拟
  • java 备忘单:链接
直觉
  1. 这是一个简单的模拟问题。
  2. 编写一个方法 getmin() 来查找数组中的最小值及其索引(创建一个记录 pair 以返回 2 个值)。
  3. 这个想法是迭代数组 k 次。
  4. 在每次迭代中,使用 getmin() 查找数组中的最小值及其索引。
  5. 通过设置 nums[i] = minvalue * multiplier 使用索引更新数组中的该值
解决方案

class solution {

    record pair(int value, int index) {}

    public int[] getfinalstate(int[] nums, int k, int multiplier) {
        for (int i = 0; i < k; i++) {
            pair minpair = getmin(nums);

            nums[minpair.index] = minpair.value * multiplier;
            system.out.printf("min %s. nums after replacement: %s %n", minpair, arrays.tostring(nums));
        }
        return nums;
    }

    private pair getmin(int[] nums) {
        pair minpair = new pair(integer.max_value, -1);
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] < minpair.value) {
                minpair = new pair(nums[i], i);
            }
        }
        return minpair;
    }
}

可视化

我添加了 print 语句来可视化每次迭代中的 minvalue 和 nums:

Input: nums=[2,1,3,5,6], k=5, multiplier=2

Std out:
Min Pair[value=1, index=1]. nums after replacement: [2, 2, 3, 5, 6] 
Min Pair[value=2, index=0]. nums after replacement: [4, 2, 3, 5, 6] 
Min Pair[value=2, index=1]. nums after replacement: [4, 4, 3, 5, 6] 
Min Pair[value=3, index=2]. nums after replacement: [4, 4, 6, 5, 6] 
Min Pair[value=4, index=0]. nums after replacement: [8, 4, 6, 5, 6]  

以上就是K 乘法运算后的最终数组状态 I的详细内容,更多请关注图灵教育其它相关文章!