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

重庆品牌网站建设公司哪家好网站站长seo推广

重庆品牌网站建设公司哪家好,网站站长seo推广,定制型网站一般价格,公司营业执照可以做几个网站1658 将 x 减到 0 的最小操作数 解析:1. 当数组的两端的数都大于x时,直接返回 -1。 2. 当数组所有数之和小于 x 时 ,直接返回 -1。 3. 数组中可以将 x 消除为0,那么可以从左边减小为 0 ;可以从右边减小为 0 &#xff1…

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

         解析:1. 当数组的两端的数都大于x时,直接返回 -1。

        2. 当数组所有数之和小于 x 时 ,直接返回 -1。

        3. 数组中可以将 x 消除为0,那么可以从左边减小为 0 ;可以从右边减小为 0 ; 也可以同时从左边和右边减小为 0 。

        这样分析下来,这道题的第三种情况的处理会比较麻烦,因为减小为 0 的区间存在不连续。

        但是子区间之和 等于 总区间和 - x 的这个子区间是连续的,简言之,target = sum -x ,sum等于原数组所有数之和。将该问题转化到 求最大长度和为target的连续子数组。

        算法原理:使用双指针 left 和 right ;

        利用变量ret 记录子区间的和,当ret > target 时,更新ret值,并将右移left指针;

        更新和为target的区间长度;

        最后返回 数组总长度 - 和为target 区间长度。

class Solution {
public:int minOperations(vector<int>& nums, int x) {//如果数组两端的数都大于x,返回-1if(nums[0] > x && nums[nums.size()-1]>x){return -1;}int sum = 0; // 记录数组的总和for(int e :nums){sum +=e;}//如果总和比x小,那么返回-1if(sum < x){return -1;}int target = sum -x;int left = 0 ,right =0 ;int ret = 0; // 记录子区间和与target比较int count = 0; // 记录和为target 最大子区间的长度while(right < nums.size()){ret += nums[right];while(ret > target){ret -= nums[left++];}if(ret == target){count = max(count,right-left+1);}++right;}return nums.size()-count;}
};

http://www.hkea.cn/news/108000/

相关文章:

  • 网站怎么设置支付功能企业网站的主要类型有
  • 成都圣都装饰装修公司北京搜索优化排名公司
  • 境外建设网站贴吧互联网域名注册查询
  • 广州建站工作室淘客推广怎么做
  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻
  • 哪个网站做废旧好如何在百度上发布自己的广告
  • 网站表单及商品列表详情模板如何搭建自己的网站
  • 网站域名登记证明百度高级搜索怎么用
  • 国外网站在国内做镜像站点网站搭建费用
  • 网站后台如何添加关键词软件开发公司
  • 手机做网站的网站windows优化大师卸载不了
  • 万网速成网站有哪些 功能自己的网站怎么推广
  • 邯郸哪有做网站的河南百度推广公司
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢西安网站seo优化公司
  • 网页传奇游戏排行昆明网络推广优化
  • 商城模板网站模板网站软文是什么
  • 校园网站推广方案怎么做网站排名推广工具
  • 深圳罗湖企业网站建设报价网络媒体发稿平台
  • 用别人公司域名做网站线下推广的渠道和方法
  • php mysql的网站开发外贸推广平台
  • 济南网站建设认可搜点网络能百度指数有三个功能模块
  • 网上商城网站建设意义在线代理浏览网页
  • 网站图片切换代码百度下载并安装最新版
  • 微信公众平台号申请注册入口杭州seo公司
  • 本周实时热点新闻事件seo文章代写一篇多少钱
  • 旺店通app手机企业版下载网站seo如何优化
  • 宝山区建设用地事务所网站网络公司有哪些
  • 用sql做简单的博客网站大连谷歌seo