
又是不用算法的题,但我写的复杂度很高
class Solution:
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
sum=0
n=len(timeSeries)
for i in range(n):
for j in range(timeSeries[i],timeSeries[i]+duration):
if (i+1)!=n and j==timeSeries[i+1]:
break
sum+=1
return sum
我看看咋优化
class Solution:
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
ans=0
for i in range(len(timeSeries)-1):
#加间距和duration之间的最小值
ans+=min(duration,timeSeries[i+1]-timeSeries[i])
#最后一个值直接加
ans+=duration
return ans