leetcode每日一題-495:提莫攻擊
鏈接
提莫攻擊
題目

分析
從第二位開始列舉,每次判斷和前一次的間隔是多少,然后判斷出中毒的描述,遍歷結束后,因為最后一次施加的中毒狀態一定可以持續完整的中毒事件,所以最后再加上duration.
代碼
C++
class Solution {
public:
int findPoisonedDuration(vector<int>& timeSeries, int duration) {
int res = 0;
for(int i=1 ; i<timeSeries.size() ; i++)
{
int last = timeSeries[i - 1];
if(last + duration <= timeSeries[i]) res += duration;
else res += timeSeries[i] - last;
}
return res + duration;
}
};
Java
class Solution {
public int findPoisonedDuration(int[] timeSeries, int duration) {
int ans = 0;
int expired = 0;
for (int i = 0; i < timeSeries.length; ++i) {
if (timeSeries[i] >= expired) {
ans += duration;
} else {
ans += timeSeries[i] + duration - expired;
}
expired = timeSeries[i] + duration;
}
return ans;
}
}
作者:LeetCode-Solution
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/355260.html
標籤:其他
