[LeetCode]495. Teemo Attacking

[LeetCode]495. Teemo Attacking

时隔多日,又要开始继续重拾算法了;

题目:这道题目是一个披着游戏皮的数组题目,计算提莫总共攻击时长。

分为三种情况:

  1. 如果当前攻击时间点加上duration后超过了下一个时间点,那个显然下一个时间点就不用计算了,直到找到数组中没有超过的时间点再开始计算;

  2. 相反,如果是相等,说明下一个时间点是正好到达的,所以自己不用算,但是要算从下一个时间点后的duration,也就是需要加上duration-1的时长;

  3. 最后一种最好理解,相加没有到达下一个时间点的话,直接加上duration即可。

下面这种就是错误的想法,想着使用移动下标的方式来做,结果就是各种判断,后面直接果断给放弃了。

result

,当前时间点到下一个时间点之间是肯定会被计算进来的,只不过是加上他们两点之间的差值还是说加上整个duration。

0

或者是记录下下一个攻击时间点,如果小于它的话则直接进行累加,如果大于等于它的话就结算总共花费的时间。