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;
    }
};
相关推荐
爱装代码的小瓶子几秒前
【c++知识铺子】map和set的底层-红黑树
java·开发语言·c++
立志成为大牛的小牛3 分钟前
数据结构——五十七、插入排序(王道408)
数据结构·笔记·程序人生·考研·算法
兩尛3 分钟前
猴子爬山od
算法·华为od
雪域迷影4 分钟前
macOS中使用cJSON解析库解析JSON
c++·macos·json·c·cmake·pkg-config
亭上秋和景清5 分钟前
计算器回调函数
c语言·数据结构·算法
青山的青衫6 分钟前
【优先级队列(堆)+排序】LeetCode hot100+面试高频
算法·leetcode·面试
江湖人称贺行风7 分钟前
C++八股
c++·八股
枫叶丹410 分钟前
【Qt开发】Qt窗口(八) -> QFileDialog 文件对话框
c语言·开发语言·数据库·c++·qt
第二只羽毛11 分钟前
基于Deep Web爬虫的当当网图书信息采集
大数据·开发语言·前端·爬虫·算法
Ayanami_Reii12 分钟前
详解Splay平衡树
数据结构·算法·线段树·主席树·持久化线段树