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;
    }
};
相关推荐
浅川.2521 小时前
xtuoj 素数个数
数据结构·算法
jyyyx的算法博客1 天前
LeetCode 面试题 16.18. 模式匹配
算法·leetcode
uuuuuuu1 天前
数组中的排序问题
算法
Stream1 天前
加密与签名技术之密钥派生与密码学随机数
后端·算法
Stream1 天前
加密与签名技术之哈希算法
后端·算法
老王熬夜敲代码1 天前
泛型编程的差异抽象思想
开发语言·c++·笔记
少许极端1 天前
算法奇妙屋(十五)-BFS解决边权为1的最短路径问题
数据结构·算法·bfs·宽度优先·队列·图解算法·边权为1的最短路径问题
c骑着乌龟追兔子1 天前
Day 27 常见的降维算法
人工智能·算法·机器学习
hetao17338371 天前
2025-12-02~03 hetao1733837的刷题记录
c++·算法
田里的水稻1 天前
math_旋转变换
算法·几何学