LeetCode子数组最大平均值问题:滑动窗口代码逻辑排查请求
LeetCode子数组最大平均值问题:滑动窗口代码逻辑排查请求
大家好,我最近在刷LeetCode的子数组最大平均值I问题,理解滑动窗口算法后写了一份代码,但运行结果不对。我觉得问题大概率出在代码的某一段里,可就是找不到具体原因,希望能得到大家的帮助,帮我排查下逻辑问题。
我怀疑问题出在这段代码中:
while temp > k: temp -= nums[left] left += 1 ans = temp / (curr - left + 1)
虽然我也很感谢其他解法思路,但我更希望先把自己的这个版本调试通——这样我才能更深入地理解滑动窗口算法本身,之后再去看其他解法也不迟。
以下是我的完整代码参考:
def findMaxAverage(self, nums, k): """ :type nums: List[int] :type k: int :rtype: float """ left = 0 ans = 0 temp = 0 for curr in range(len(nums)): temp += nums[curr] curr += 1 while temp > k: temp -= nums[left] left += 1 ans = temp / (curr - left + 1) return ans
备注:内容来源于stack exchange,提问作者Zubair Amjad
相关产品推荐
相关产品推荐

