1658.将x减到0的最小操作数(滑动窗口)

目录

一、题目

二、分析+代码


一、题目

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

二、分析+代码

cpp 复制代码
class Solution {
public:
    int minOperations(vector<int>& nums, int x) {
        int _MaxLength = INT_MIN;
        int _sum = 0;
        int tmp = 0;
        for (auto number : nums)//先对nums数组求和
        {
            _sum += number;
        }
        if(_sum < x)//x没办法减到0
        {
            return -1;
        }
        if(_sum == x)//需要将nums数组全部减去
        {
            return nums.size();
        }

        for (int left = 0, right = 0; right < nums.size(); right++)
        {
            tmp += nums[right];//进入窗口
            while (tmp > _sum - x)//判断
            {
                tmp -= nums[left];//出窗口
                ++left;//出窗口
            }
            if (tmp == _sum - x)//判断
            {
                _MaxLength = max(_MaxLength, right - left + 1);//更新结果
                tmp -= nums[left];//出窗口
                ++left;
            }

        }
        return _MaxLength == INT_MIN ? -1 : (nums.size() - _MaxLength);
    }
};
相关推荐
坚持编程的菜鸟几秒前
模拟实现strncat
c语言·算法·模拟实现strncat
wabs6667 分钟前
关于哈希表【力扣1.两数之和的思考】
数据结构·算法·leetcode·散列表·图论
大辉狼_音频架构9 分钟前
第 02 篇:时域的语言 —— 卷积、LTI 系统与冲激响应
算法·音视频开发
小卡不对头42 分钟前
系统集成项目管理工程师好考吗?零基础小白怎么考,软考题库怎么选?
职场和发展
测试老哥1 小时前
软件测试:单元测试详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
星轨初途1 小时前
LeetCode 热题 100——day7 接雨水
数据结构·c++·笔记·算法·leetcode·职场和发展
qeen871 小时前
【数据结构】搜索二叉树的介绍与算法原理解析及实现
数据结构·c++·学习·算法·模板
阳明山水2 小时前
销量预测的“隐形杀手”:概念漂移与自适应学习实战
人工智能·深度学习·算法·机器学习·架构
szarron2 小时前
HT666 0.6-6GHz 定向高增益手持天线:EMC 测试与频谱定位实战指南
网络·算法·5g·信号处理·射频工程·频谱仪
城管不管2 小时前
2026.8.6成都分部一面当场OC
面试·职场和发展