这周老师让我们在leetcode中array模块中随便选一题,因为不是很清楚网站中的难度区分,便选了一个难度适中的题目,也就是这道Teemo Attacking。
这道题目的难点便是在查询数组当前数据的时候也能对当前节点的下一个数据进行访问,以及判断当前数据是否是数组的最后一个。好了,直接上代码,难度不是很大的一道题目:
#495
#https://leetcode.com/problems/teemo-attacking/description/
#2018.4.23 xutk
class Solution(object):
def findPoisonedDuration(self, timeSeries, duration):
"""
:type timeSeries: List[int]
:type duration: int
:rtype: int
"""
timeSeries.sort()
tmp_position = 0
poisoned_time = 0
array_length = len(timeSeries)
while tmp_position < array_length:
if tmp_position + 1 == array_length:
poisoned_time += duration
break
if timeSeries[tmp_position] + duration > timeSeries[tmp_position + 1]:
poisoned_time += timeSeries[tmp_position + 1] - timeSeries[tmp_position]
else:
poisoned_time += duration
tmp_position += 1
return poisoned_time