当前位置: 首页 > article >正文

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

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

题目

在这里插入图片描述

题目解析及思路

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

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

代码

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;
    }
};

http://www.kler.cn/a/377451.html

相关文章:

  • ReactPress—基于React的免费开源博客CMS内容管理系统
  • 产品经理的重要性
  • Caffeine 手动策略缓存 put() 方法源码解析
  • JavaScript数据类型- Symbol 详解
  • 【ShuQiHere】️ 深入了解 ADB(Android Debug Bridge):您的 Android 开发利器!
  • 简介Voronoi图Voronoi Diagrams
  • vue-verify-plugin。vue项目表单验证插件
  • Unity3D学习FPS游戏(8)装弹和弹夹UI显示
  • Android开发之——SOLID基础设计原则(掌握23种设计模式)其实开发之路如此简单
  • 苹果转向 Apple Silicon,Intel Mac 的支持时限倒计时
  • 通用型函数——冒泡排序
  • 商务英语学习柯桥学外语到泓畅-老外说“go easy on me”是什么意思?
  • spring-解析Scope注解
  • golang switch v := data.(type)
  • Flarum:简洁而强大的开源论坛软件
  • 活动回顾丨艾体宝《开源软件供应链安全的最佳实践》线下研讨会圆满落幕!
  • 五、SpringBoot3实战(1)
  • docker对nginx.conf进行修改后页面无变化或页面报错
  • 【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv
  • 提高交换网络可靠性之端口安全配置
  • 项目自动化构建工具——make与Makefile详解
  • 高效实现SCRM用户管理的最佳实践与策略
  • DB-GPT系列(三):底层大模型设置(开源模型、在线模型)
  • 景联文科技医疗数据处理平台:强化医疗数据标注与管理,推动医疗数字化新篇章
  • Waymo的EMMA给多模态端到端自驾指引了方向
  • 软件(2)