2602. 使数组元素全部相等的最少操作次数 - 力扣(LeetCode)
暴力枚举(该方法超时)
这道题最直观的做法
每一轮query中,都直接计算nums[i]和quries[i]的差值之和
class Solution:
def minOperations(self, nums: List[int], queries: List[int]) -> List[int]:
res = []
for q in queries:
cnt = 0
for num in nums:
cnt += abs(q - num)
res.append(cnt)
return res
可以看到耗时的地方在于二重循环。因为需要求和,所以在二重循环中运算。看到求和,就要马上想到前缀和,更进一步的,我们应该如何用前缀和加速求解?