Leetcode: 495.提莫攻击
495. 提莫攻击
解题思路:
一开始想着直接用set来去重,结果肯定是直接超时了。
后续考虑到给出的timeSeries是非递减的形式,可以用单次遍历的方法,用t存储下当前中毒结束时间。
- 当t<timeSeries[i]+duration时,表示着这个结束时间需要刷新,因此先对结果res+=timeSeries[i]+duration-t-max(timeSeries[i]-t,0) (后续的max是因为考虑到若中途有非中毒时间要减去),同时更新t=timeSeries[i]+duration
以下为C++代码:
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 风之歌!
评论