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);
    }
};
相关推荐
不会就选b10 分钟前
算法日常・每日刷题--<贪心>14
算法
mmmmath_33 小时前
LeetCode.541.反转字符串II
数据结构·算法·leetcode
Navigator_Z3 小时前
LeetCode //MySQL - 1251. Average Selling Price
c语言·算法·leetcode
醇氧4 小时前
MySQL 8.0 系统表损坏与引擎转换故障排查实战
数据结构·算法
大熊背4 小时前
《Color constancy by characterization of illumination chromaticity》之色度色域最大化算法(二)
算法·白平衡·色度·色温
钓鱼的肝5 小时前
梳理(1-5)
c++·经验分享·笔记·算法·青少年编程
参.商.5 小时前
【Day 53】76. 最小覆盖子串
leetcode·golang
HZZD_HZZD5 小时前
CSDN_批发市场水电漏损归因算法LAM的原理与落地
嵌入式硬件·物联网·算法
shirsl7 小时前
算法 Day 5 树 / 二叉树 + DFS
数据结构·python·算法