我正在解决Maximum Erasure Value - LeetCode,我的 solution 如下,但是出现了 Time Limit Exceeded ,我不太明白为什么,时间复杂度明明是 O(n)呀。🤐
class Solution:
def maximumUniqueSubarray(self, nums: List[int]) -> int:
# sliding window solution
res = 0
window, l, r = set(), 0, 0
while r < len(nums):
while r < len(nums) and nums[r] not in window:
window.add(nums[r])
r += 1
res = max(res, sum(window))
if r == len(nums):
return res
while nums[r] in window:
window.remove(nums[l])
l += 1
return res
不知道为什么 test case 的 nums 是空的。🤐
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.