原题地址(中等)
方法1—滑动窗口
思路
这题还蛮简单的其实。
就用滑动串口就好啦。
代码
class Solution {public:int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int X) {int ans = 0, n = customers.size();for(int i = 0; i < n; i++) {if(i < X) ans += customers[i];else if(grumpy[i] == 0) ans += customers[i];}int maxAns = ans;for(int i = X; i < n; i++) {if(grumpy[i - X] == 1) ans -= customers[i - X];if(grumpy[i] == 1) ans += customers[i];maxAns = max(maxAns, ans);}return maxAns;}};
时空复杂度
时间 空间
