力扣1658.将x减到0的最小操作数

力扣1658.将x减到0的最小操作数

题目

题目解析及思路

题目要求每次操作删除最左或最右的元素 ,并从x中减去,返回当x = 0 时的最小操作数

  • 正难则反:求值为sum - x的区间

代码

cpp 复制代码
class Solution {
public:
    int minOperations(vector<int>& nums, int x) {
        int res=1e5+10,n = nums.size();
        int sum = accumulate(nums.begin(),nums.end(),0);
        int ans = 0;
        int k = sum - x;
        if(k <0) return -1;
        for(int i=0,j=0;i<n;i++)
        {
            ans += nums[i];
            while(ans > k) ans -= nums[j++];
            if(ans == k) res = min(res,n- (i-j+1));
        }
        if(res == 1e5 + 10) res = -1;
        return res;
    }
};
相关推荐
Q一件事6 小时前
RWEQ——保留与消去P的soil_loss联合推导
算法
HugoStudio_SWAN7 小时前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
那年窗外下的雪.7 小时前
AIDC 学习日志|第 20 天|多归属业务验收与哈希不均定位
学习·算法·哈希算法
s_w.h8 小时前
【 刷题 】双指针
算法
啥都想学点的研究生8 小时前
一篇文章讲清楚:K-Means聚类算法
算法·kmeans·聚类
白狐_7989 小时前
408 数据结构|KMP做题方法:next、nextval和高频易错点
数据结构·算法
月华路9 小时前
《模型不玄学》第20章 两种评估视角
人工智能·算法·机器学习
禹凕9 小时前
快速幂算法详解与实战
python·算法
xxwl5859 小时前
高斯消元法异或版
人工智能·算法·机器学习
sylviiiiiia9 小时前
leetcode hot 100
python·算法·leetcode