• 2024-12-14【每日一题】3266. K 次乘运算后的最终数组 I&II
    给你一个整数数组 nums ,一个整数 k  和一个整数 multiplier 。你需要对 nums 执行 k 次操作,每次操作中:找到 nums 中的 最小 值 x ,如果存在多个最小值,选择最 前面 的一个。将 x 替换为 x*multiplier 。k 次操作以后,你需要将 nums 中每一个
  • 2024-12-14力扣 3266. K 次乘运算后的最终数组 II
    发现\(k\le10^9\),肯定不能直接模拟了。但是注意到,如果最小值\(\min\timesm>\max\)存在,我们可以直接给每个数乘上\(m^{\lfloor\frac{k}{n}\rfloor}\),最后再处理剩下的\(k\bmodn\)个\(m\)即可,这个复杂度是\(O(n)\)的。具体地说,最小值乘上一个\(m\)超过最大值之后,其
  • 2024-12-13力扣刷题——3266. K 次乘运算后的最终数组 II
    根据题意,使用模拟解法,维护一个最小堆,始终对堆的第一个元素做乘,然后每次运算后维护堆。在实现的时候保存原有的下标,可以很方便的输出答案,有实现如下:classSolution{public:vector<int>getFinalState(vector<int>&nums,intk,intmultiplier){intMOD=1e9+
  • 2024-12-06leetcode 3266. K 次乘运算后的最终数组 II
    3266.K次乘运算后的最终数组II给你一个整数数组 nums ,一个整数 k  和一个整数 multiplier 。你需要对 nums 执行 k 次操作,每次操作中:找到 nums 中的 最小 值 x ,如果存在多个最小值,选择最 前面 的一个。将 x 替换为 x*multiplier 。k 次操作以