”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > k乘法操作后的最终数组状态i

k乘法操作后的最终数组状态i

发布于2025-02-04
浏览:276

3264。 k乘法操作后的最终数组状态i Final Array State After K Multiplication Operations I [2

您获得了一个整数数组,一个整数K和一个整数乘数。

您需要在NUMS上执行K操作。在每个操作中:

在数字中找到最小值x。如果最小值有多个出现,请选择出现

的一个。

用x *乘数替换所选的最小值x 执行所有k操作

nums = [2,1,3,5,6],k = 5,乘数= 2

    [2
  • 解释:
  • |操作|结果|
|-------------------|-----------------|

|操作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,乘数= 4
  • [16,8]
  • 解释:
  • |操作|结果|
  • |-------------------|-----------------|
|操作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

1

1

    1 暗示:
  • 在优先队列中维护排序的对(nums [index],index)。
  • 模拟操作k次。
  • 解决方案:


我们需要按照问题语句中所述实施操作。关键步骤是在数组中找到最小值,将其替换为乘以给定乘数的值,然后重复此过程k次。

鉴于我们需要选择最小值的第一次出现并替换它,因此我们可以通过跟踪每个操作期间最小值的索引来解决此问题。 PHP实现将使用优先级队列(Min-Heap)进行有效检索和更新每个操作期间的最小值。
让我们在php中实现此解决方案:
3264。 k乘法操作后的最终数组状态i

解释:

  • initialization
  • :循环k次,因为您需要执行k操作。
  • 查找最小值
迭代数字,以找到最小的值及其

首先出现索引

  1. 乘以最小值
  2. 用当前值和乘法器的乘积替换已确定索引的值。

重复

重复上述k迭代的步骤。

返回最终数组


  1. 测试输出 为提供的测试用例:
  2. 测试案例1: 输入:
    • ; $ k = 5; $乘数= 2;
    • 输出:
  3. 输出:[8,4,6,5,6] 测试案例2:
    • 输入:
  4. $ nums = [1,2]; $ k = 3; $乘数= 4;
  5. 输出:
    • 输出:[16,8]
    复杂
  6. [2
      对于每个K操作,在数组中找到最小值需要O(n)。
    • ,其中
    • 是阵列的大小。
[2

解决方案使用

此解决方案遵守约束,并为所有测试用例提供预期结果。 [2

如果您发现此系列有帮助,请考虑在Github上给

如果您想要这样的更多有用的内容,请随时关注我:
$nums = [2, 1, 3, 5, 6];
$k = 5;
$multiplier = 2;
[2 [2


版本声明 本文转载于:https://dev.to/mdarifulhaque/3264-final-array-state-after-k-multiplication-operations-i-4l5b?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3