Problem: 495. 提莫攻击

Solution题过程

对每个数字,计算结束时间,以及和下一个数字的距离,若>next,则减去重复的,否则加上duration

复杂度

  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( 1 ) O(1) O(1)

Code

class Solution {
public:
    int findPoisonedDuration(vector<int>& timeSeries, int duration) {
        int l = 0, end = -1, sum = 0;
        while( l < timeSeries.size() ) {
            if( end > timeSeries[l] ) {
                sum -= end - timeSeries[l];
            }
            end = timeSeries[l] + duration;
            sum += duration;
            l++;
        }
        return sum;
    }
};

更多推荐