題目描述
在《英雄聯盟》的世界中,有乙個叫 「提莫」 的英雄,他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。
你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。
示例1:
輸入: [1,4], 2
輸出: 4
原因: 在第 1 秒開始時,提莫開始對艾希進行攻擊並使其立即中毒。中毒狀態會維持 2 秒鐘,直到第 2 秒鐘結束。
在第 4 秒開始時,提莫再次攻擊艾希,使得艾希獲得另外 2 秒的中毒時間。
所以最終輸出 4 秒。
示例2:
輸入: [1,2], 2
輸出: 3
原因: 在第 1 秒開始時,提莫開始對艾希進行攻擊並使其立即中毒。中毒狀態會維持 2 秒鐘,直到第 2 秒鐘結束。
但是在第 2 秒開始時,提莫再次攻擊了已經處於中毒狀態的艾希。
由於中毒狀態不可疊加,提莫在第 2 秒開始時的這次攻擊會在第 3 秒鐘結束。
所以最終輸出 3。
注意:你可以假定時間序列陣列的總長度不超過 10000。
你可以假定提莫攻擊時間序列中的數字和提莫攻擊的中毒持續時間都是非負整數,並且不超過 10,000,000。
思路就是初始的時候就是假定每個時間段都是有毒的,那麼接下來就是去除那些沒有中毒的情況,**如下:
最後需要注意的是給出第乙個毒劑的時間不一定是1,因此要減去timeseries[0]+1
class solution
int result = timeseries[timeseries.length - 1] + duration - 1;
//但是實際上肯定中間有沒有中毒的時間
for (int i = 1; i < timeseries.length; i++)
} return result - timeseries[0] + 1;
}}
排名靠前的**
差不多也是這個意思
class solution else
end_time = timeseries[i] + duration;
}return total_dua + duration;
}}
LeetCode 陣列 提莫攻擊
在 英雄聯盟 的世界中,有乙個叫 提莫 的英雄,他的攻擊可以讓敵方英雄艾希 編者注 寒冰射手 進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。示例1 輸入 1,4 2 輸出 4 ...
演算法題 提莫攻擊
在 英雄聯盟 的世界中,有乙個叫 提莫 的英雄。他的攻擊可以讓敵方英雄艾希 編者注 寒冰射手 進入中毒狀態。當提莫攻擊艾希,艾希的中毒狀態正好持續 duration 秒。正式地講,提莫在 t 發起發起攻擊意味著艾希在時間區間 t,t duration 1 含 t 和 t duration 1 處於中...
leetcode 495 提莫攻擊
在 英雄聯盟 的世界中,有乙個叫 提莫 的英雄,他的攻擊可以讓敵方英雄艾希 編者注 寒冰射手 進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。示例1 輸入 1,4 2輸出 4原因...