提莫攻擊
題目描述:在《英雄聯盟》的世界中,有一個叫 “提莫” 的英雄,他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。
你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。
示例說明請見LeetCode官網。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/probl...
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
解法一:遍歷陣列
首先,初始化一個結果result初始值為0,然後遍歷timeSeries中的元素,處理過程如下:
- 如果下一次的中毒時間和本次的中毒時間間隔小於duration,則將result加這兩次的時間間隔;
- 如果下一次的中毒時間和本次的中毒時間間隔大於duration,則將result加上duration。
遍歷完後,需要將result加上最後一次的中毒時間即duration,最後返回result即為中毒狀態總時長。
/**
* @Author: ck
* @Date: 2021/10/3 11:22 上午
*/
public class LeetCode_495 {
public static int findPoisonedDuration(int[] timeSeries, int duration) {
int result = 0;
for (int i = 0; i < timeSeries.length - 1; i++) {
if (timeSeries[i + 1] - timeSeries[i] < duration) {
result += timeSeries[i + 1] - timeSeries[i];
} else {
result += duration;
}
}
result += duration;
return result;
}
public static void main(String[] args) {
System.out.println(findPoisonedDuration(new int[]{1, 2}, 2));
}
}
【每日寄語】 不要一遇沙漠,就懷疑生命綠洲的存在;不要一遇到困難,就懷疑人生目標的實現。