当前位置:网站首页>495. Timo attack
495. Timo attack
2022-07-02 06:00:00 【occasionally.】
1. Title Description
stay 《 Hero alliance 》 In the world of , One called “ Timo ” The hero of . His attack can make enemy hero ash ( Editor's note : Cold shooter ) Into a toxic state .
When Timo attacked ash , Ash's poisoning just continued duration second .
Formally speaking , Timo is here t Launching an attack means that ash is in a time interval [t, t + duration - 1]( contain t and t + duration - 1) In a state of poisoning . If Timo is at the end of the poisoning effect front Attack again , The poisoning status timer will Reset , After a new attack , The toxic effect will be in duration Seconds later .
To give you one The decreasing Array of integers for timeSeries , among timeSeries[i] It means Timo is timeSeries[i] Attack ash in seconds , And an integer representing the duration of poisoning duration .
Returns the total number of seconds that ash is poisoned .
Input :timeSeries = [1,4], duration = 2
Output :4
explain : The impact of Timo's attack on ash is as follows :
- The first 1 second , Timo attacked ash and poisoned him immediately . The toxic state will be maintained 2 second , That is to say 1 Second and the 2 second .
- The first 4 second , Timo attacked ash again , Aishi's poisoning continued 2 second , That is to say 4 Second and the 5 second .
Ash's on the third floor 1、2、4、5 Seconds is poisoned , So the total poisoning seconds are 4
2. Their thinking
① The total poisoning seconds are at least duration second , because timeSeries At the last moment, ash can always be poisoned duration second
② Traverse timeSeries, Judge timeSeries Whether the interval between adjacent times in is greater than duration, If greater than or equal to , Poisoning seconds increase duration, If less than , Increase the interval .
- python3
class Solution:
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
res = duration
if duration == 0:
return 0
for i in range(1,len(timeSeries)):
if timeSeries[i] - timeSeries[i-1] >= duration:
res += duration
else:
res += timeSeries[i] - timeSeries[i-1]
return res
- c++
class Solution {
public:
int findPoisonedDuration(vector<int>& timeSeries, int duration) {
int res = duration;
if (duration == 0)
return 0;
for (int i=1; i < timeSeries.size(); i++){
if (timeSeries[i]-timeSeries[i-1] >= duration)
res += duration;
else
res += timeSeries[i] - timeSeries[i-1];
}
return res;
}
};
边栏推荐
- Comment utiliser mitmproxy
- Unity shader learning notes (3) URP rendering pipeline shaded PBR shader template (ASE optimized version)
- File contains vulnerabilities (II)
- PHP array to XML
- Mock simulate the background return data with mockjs
- uni-app开发中遇到的问题(持续更新)
- 神机百炼3.52-Prim
- Lantern Festival gift - plant vs zombie game (realized by Matlab)
- 【LeetCode】Day92-盛最多水的容器
- 数据回放伴侣Rviz+plotjuggler
猜你喜欢
随机推荐
Go 学习笔记整合
PHP array to XML
[C language] screening method for prime numbers
使用HBuilderX的一些常用功能
500. 键盘行
脑与认知神经科学Matlab Psytoolbox认知科学实验设计——实验设计四
JWT tool class
Grbl software: basic knowledge of simple explanation
文件包含漏洞(一)
Stick to the big screen UI, finereport development diary
External interrupts cannot be accessed. Just delete the code and restore it Record this unexpected bug
Software testing - concept
Detailed notes of ES6
Redis Key-Value数据库 【高级】
php获取cpu使用率、硬盘使用、内存使用
keepalived安装使用与快速入门
深度学习分类网络 -- AlexNet
Oled12864 LCD screen
php内类名称与类内方法名相同
51 single chip microcomputer - ADC explanation (a/d conversion, d/a conversion)