原题链接:Leecode 1658. 将 x 减到 0 的最小操作数

自己写的代码:

class Solution {public:int minOperations(vector<int>& nums, int x) {int n=nums.size();if(x<nums[0] && x<nums[n-1]) return -1;vector<int> sum(n+1,0);for(int i=0;i<n;i++)  sum[i+1]=sum[i]+nums[i];if(sum[n]<x) return -1;int r=1,l=n,i=1,res=INT_MAX;for(;l>=0;l--){if(sum[n]-sum[l-1]>=x) break;}for(;r<n+1;r++){if(sum[r]>=x) break;}if(sum[n]-sum[l-1]==x) res=min(res,n-l+1);if(sum[r]==x) res=min(res,r);while(i<=r && l<=n){int tmp=sum[i]+sum[n]-sum[l-1];if(tmp>x) l++;else {if(tmp==x) res=min(res,n-l+1+i);i++;}}return res==INT_MAX? -1:res;}
};

参考别人的代码:
思路:将 x 减到 0 的最小操作数(滑动窗口)

class Solution {public:int minOperations(vector<int>& nums, int x) {int n=nums.size();if(x<nums[0] && x<nums[n-1]) return -1;int sum=accumulate(nums.begin(),nums.end(),0);if(sum<x) return -1;int target=sum-x,l=0,r=0,tmp=0,res=-1;while(r<n){tmp+=nums[r++];while(tmp>target && l<n) tmp-=nums[l++];if(tmp==target) res=max(res,r-l);}return res==-1? -1:n-res;}
};

Leecode 1658. 将 x 减到 0 的最小操作数 滑动窗口相关推荐

  1. LeetCode 1658. 将 x 减到 0 的最小操作数

    1658. 将 x 减到 0 的最小操作数 给你一个整数数组 nums 和一个整数 x .每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值.请注意,需要 修改 ...

  2. LeetCode 1658. 将 x 减到 0 的最小操作数(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 nums 和一个整数 x .每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值.请注意,需要 修 ...

  3. Leetcode-1658. 将 x 减到 0 的最小操作数

    链接 1658. 将 x 减到 0 的最小操作数 题目 给你一个整数数组 nums 和一个整数 x .每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值.请注意 ...

  4. leetcode1658.将x见到0的最小操作数

    题目大意 解题思路 分析题意,实际上是从数组的左半部分和右半部分分别取出一部分,两部分的和为x即可,找到最短的组合. 将nums从左累加,得到leftacc,将nums从右累加,得到rightacc. ...

  5. LIC Fusion 2.0:滑动窗口法平面特征跟踪的激光雷达惯性相机里程计

    点云PCL免费知识星球,点云论文速读. 标题:LIC-Fusion 2.0: LiDAR-Inertial-Camera Odometry with Sliding-Window Plane-Feat ...

  6. LIC-Fusion 2.0:基于滑动窗口法平面特征跟踪的激光雷达惯性相机里程计

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 摘要 来自商用惯性.视觉和激光雷达传感器的多模态测量的多传感器融合提供了鲁棒和精确的6自由度姿态估计, ...

  7. 支持向量机(SVM)MATLAB 实例讲解,及选择训练方式使误差率尽可能减为0

    今天看了有关支持向量机(Support vector machine,简称SVM )用来分类的内容.通过学习算法,SVM可以自动找出那些对分类有用有较好区分能力的支持向量,由此构造出的分类器可以最大化 ...

  8. js从60秒减到0停止_抖音视频拍摄技巧,15秒也能拍出大片,你会这些吗?

    短视频一直就很热,第一次听到短视频概念,并使用短视频产品是在2014年体验了下美拍,那时的感觉就是很强.很酷.挺好玩的. 作为当下最火爆的短视频平台,抖音绝对是一个要学会玩的引流平台! 正因为平台有足 ...

  9. js从60秒减到0停止_秒懂爱车丨关于爱车的心脏,你了解吗?

    发动机是爱车的心脏 对于爱车心脏的保养还得从平时做起 那么,对于它的启动与关闭 你是否都做对了呢? 跟着小福一起来自检一下吧 配备点火钥匙的车辆 启动 1. 完全踩下制动踏板 2. 将钥匙转到 III ...

最新文章

  1. java jpa 字段 关联_jpaQuery中查询字段是关联表的查询方法以及@JoinEntity(joinEntityAlias =str)的作用和代码编写的规范...
  2. range函数python3_Python3如何使用range函数替代xrange函数
  3. 关于raid5 5e 5ee的性能 对比及其数据恢复原理
  4. 程序人生:程序员成熟的标志
  5. 基于Hibernate+spring的公司网站打造中(二)
  6. 系统防止绕过程序直接数据库修改数据(金额等敏感数据)
  7. 如何评判在线直播源码优劣?视频直播软件开发经验之谈
  8. PHP实现MySQL并发查询
  9. labelme也可以标注polygan
  10. MAPinfo学习笔记
  11. ENVI5.3 辐射校正相关操作
  12. 从团队协作的五大障碍看团队管理该怎么做
  13. ps裁剪和裁切的区别_如何熟练使用ps裁剪工具裁切出一张好的图片
  14. 用久的苹果电脑是闲置回收还是维修
  15. 论文解读(一)V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation
  16. java第三方类库Guava开源组件使用
  17. 03【Verilog实战】UART通信协议,半双工通信方式(附源码)
  18. 2020人口普查全国人口学历分布情况
  19. 大牛证券医药板块连续遭遇重挫
  20. fractal php,一文读懂Fractal共识协议:iChing之精妙

热门文章

  1. 腾讯会议PC端声音设置
  2. 操作系统-处理机调度详解(调度层次及FCFS、SPF、RR等算法)
  3. 7天吸粉111万,条条视频都爆款,无穷小亮的科普日常是如何做到的?!
  4. 游戏测试中容易被忽视的重点
  5. TextPad等编译器找不到或无法加载主类
  6. leetcode2187. 完成旅途的最少时间(mid)(282)
  7. Vue源码学习 - 组件化(三) 合并配置
  8. 程序员应知必会的思维模型之 18 林纳斯定律 (Linus‘s Law)
  9. 蓝桥杯第十届真题B组(2019年)
  10. 手机制作安卓apk和android studio一样