首页 > 代码库 > 495. Teemo Attacking
495. Teemo Attacking
In LLP world, there is a hero called Teemo and his attacking can make his enemy Ashe be in poisoned condition. Now, given the Teemo‘s attacking ascending time series towards Ashe and the poisoning time duration per Teemo‘s attacking, you need to output the total time that Ashe is in poisoned condition.
You may assume that Teemo attacks at the very beginning of a specific time point, and makes Ashe be in poisoned condition immediately.
Example 1:
Input: [1,4], 2 Output: 4 Explanation: At time point 1, Teemo starts attacking Ashe and makes Ashe be poisoned immediately. This poisoned status will last 2 seconds until the end of time point 2. And at time point 4, Teemo attacks Ashe again, and causes Ashe to be in poisoned status for another 2 seconds. So you finally need to output 4.
Example 2:
Input: [1,2], 2 Output: 3 Explanation: At time point 1, Teemo starts attacking Ashe and makes Ashe be poisoned. This poisoned status will last 2 seconds until the end of time point 2. However, at the beginning of time point 2, Teemo attacks Ashe again who is already in poisoned status. Since the poisoned status won‘t add up together, though the second poisoning attack will still work at time point 2, it will stop at the end of time point 3. So you finally need to output 3.
My Solution:
public class Solution { public int findPoisonedDuration(int[] timeSeries, int duration) { int count = duration; if(timeSeries.length == 0) return 0; for(int i = 1 ; i < timeSeries.length ; i++){ if(timeSeries[i]-timeSeries[i-1]>=duration){ count += duration; }else{ count += timeSeries[i]-timeSeries[i-1]; } } return count; } }
Others‘ Solution:
public int findPoisonedDuration(int[] timeSeries, int duration) { if (timeSeries.length == 0) return 0; int begin = timeSeries[0], total = 0; for (int t : timeSeries) { total+= t < begin + duration ? t - begin : duration; begin = t; } return total + duration; }
495. Teemo Attacking
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。