Day23力扣打卡

打卡记录

将 x 减到 0 的最小操作数(逆向思维 + 滑动窗口)

链接

将 x 减到 0 的最小操作数,可以逆向思考,求一个数组中的最大长度的滑动窗口,来使得这个窗口里的数等于 全数组之和 - x 的值。

cpp 复制代码
class Solution {
public:
    int minOperations(vector<int> &nums, int x) {
        int target = accumulate(nums.begin(), nums.end(), 0) - x;
        if (target < 0) return -1;
        int ans = -1, sum = 0, n = nums.size();
        for (int i = 0, j = 0; i < n; ++i) {
            sum += nums[i];
            while (sum > target) sum -= nums[j++];
            if (sum == target) ans = max(ans, i - j + 1);
        }
        return ans < 0 ? -1 : n - ans;
    }
};
相关推荐
小白菜又菜3 分钟前
Leetcode 944. Delete Columns to Make Sorted
算法·leetcode
博语小屋26 分钟前
转义字符.
c语言·c++
Lhan.zzZ31 分钟前
Qt跨线程网络通信:QSocketNotifier警告及解决
开发语言·c++·qt
Aevget33 分钟前
QtitanDocking 如何重塑制造业桌面应用?多视图协同与专业界面布局实践
c++·qt·界面控件·ui开发·qtitandocking
我找到地球的支点啦34 分钟前
Matlab系列(006) 一利用matlab保存txt文件和读取txt文件
开发语言·算法·matlab
-森屿安年-39 分钟前
STL中 Map 和 Set 的模拟实现
开发语言·c++
历程里程碑43 分钟前
双指针巧解LeetCode接雨水难题
java·开发语言·数据结构·c++·python·flask·排序算法
Dev7z1 小时前
基于Matlab实现GRACE卫星重力数据的全球水储量变化估算与分析
人工智能·算法·matlab
ALex_zry1 小时前
C++ 中多继承与虚函数表的内存布局解析
java·开发语言·c++
w-w0w-w1 小时前
C++构造函数与析构函数详解
c++