495 提莫攻擊 中等

2021-10-25 19:26:09 字數 1670 閱讀 5641

0️⃣python資料結構與演算法學習路線

學習內容:

在《英雄聯盟》的世界中,有乙個叫 「提莫」 的英雄,他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。

你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。

輸入: [1,4], 2

輸出: 4

原因: 第 1 秒初,提莫開始對艾希進行攻擊並使其立即中毒。中毒狀態會維持 2 秒鐘,直到第 2 秒末結束。

第 4 秒初,提莫再次攻擊艾希,使得艾希獲得另外 2 秒中毒時間。

所以最終輸出 4 秒。

判斷下一次發出攻擊的時間是否在對方冰凍時間內,不在 time_count + duration,在則time_count +timeseries[i+1]-timeseries[i]

也可以不用 if 判斷,直接用 min

class

solution

:def

findpoisonedduration

(self, timeseries: list[

int]

, duration:

int)

->

int:

time_count =

0 time_long =

len(timeseries)

if time_long ==0:

return

0for i in

range

(time_long-1)

:if timeseries[i]

+ duration < timeseries[i+1]

: time_count += duration

else

: time_count = time_count +timeseries[i+1]

-timeseries[i]

return time_count+duration

直接用min

class

solution

:def

findpoisonedduration

(self, timeseries: list[

int]

, duration:

int)

->

int:

time_long =

len(timeseries)

if time_long ==0:

return

0 time_count =

0for i in

range

(time_long -1)

: time_count +=

min(timeseries[i +1]

- timeseries[i]

, duration)

return time_count + duration

可以用list長度為0判斷list為空(沒考慮到列表為空)

題目中測試用例一般都有空集要記得考慮

leetcode 495 提莫攻擊

在 英雄聯盟 的世界中,有乙個叫 提莫 的英雄,他的攻擊可以讓敵方英雄艾希 編者注 寒冰射手 進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。示例1 輸入 1,4 2輸出 4原因...

Leetcode 495 提莫攻擊

在 英雄聯盟 的世界中,有乙個叫 提莫 的英雄,他的攻擊可以讓敵方英雄艾希 編者注 寒冰射手 進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。示例1 輸入 1,4 2輸出 4原因...

LeetCode495 提莫攻擊

題目描述 在 英雄聯盟 的世界中,有乙個叫 提莫 的英雄,他的攻擊可以讓敵方英雄艾希 編者注 寒冰射手 進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。示例1 輸入 1,4 2 ...