0️⃣python資料結構與演算法學習路線在《英雄聯盟》的世界中,有乙個叫 「提莫」 的英雄,他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。學習內容:
你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。
輸入: [1,4], 2判斷下一次發出攻擊的時間是否在對方冰凍時間內,不在 time_count + duration,在則time_count +timeseries[i+1]-timeseries[i]輸出: 4
原因: 第 1 秒初,提莫開始對艾希進行攻擊並使其立即中毒。中毒狀態會維持 2 秒鐘,直到第 2 秒末結束。
第 4 秒初,提莫再次攻擊艾希,使得艾希獲得另外 2 秒中毒時間。
所以最終輸出 4 秒。
也可以不用 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 ...