LeetCode-495-提莫攻擊

雄獅虎豹發表於2021-10-13

提莫攻擊

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

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

示例說明請見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));
    }
}
【每日寄語】 不要一遇沙漠,就懷疑生命綠洲的存在;不要一遇到困難,就懷疑人生目標的實現。

相關文章