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

南昌网站建设_南昌做网站公司google关键词排名

南昌网站建设_南昌做网站公司,google关键词排名,商丘网站建设推广哪家来电咨询,艾特思成都网站建设题目: 这个题如果我们直接去思考方法是很困难的,因为我们不知道下一步是在数组的左还是右操作才能使其最小。正难则反,思考一下,无论是怎么样的,最终这个数组都会分成三个部分左中右,而左右的组合就是我们…

题目:

这个题如果我们直接去思考方法是很困难的,因为我们不知道下一步是在数组的左还是右操作才能使其最小。正难则反,思考一下,无论是怎么样的,最终这个数组都会分成三个部分左中右,而左右的组合就是我们进行的所有操作(极端情况下左或右长度为0),但不管怎样,都分成了连续的几块。左右之和若为x,那么中间的数组和就是sum-x(假设数组之和为sum),我们要找左右长度和最短,那么只要找中间数组最长即可。

具体思路:

定义同向双指针,然后“进窗口”,判断(sum是否>target,此处的sum是滑动窗口内之和,target是上面的sum-x),如果满足条件,则出窗口,然后更新结果,判断此时的sum是否=target,符合条件,记录长度,然后一次次取最大值

 

int Solution(vector<int>&nums,int x)
{int sum=0;for(a:nums) sum+=a;int target=sum-x;//如果if条件满足,则我减去所有的数都无法满足条件if(target<0) return -1;
int ret=-1;for(int left=0,right=0,tmp=0;right<nums.size();right++){//进窗口tmp+=nums[right];//判断,出窗口while(tmp>target)tmp-=nums[left++];//判断,更新结果if(tmp==target)ret=max(ret,right-left+1);}if(ret==-1)return ret;//走遍数组也没找到符合条件else return nums.size()-ret;
}

http://www.dtcms.com/wzjs/111642.html

相关文章:

  • 做导航网站用多大的空间郑州网站优化
  • 邯郸做移动网站哪儿好爱站网长尾词挖掘工具
  • 网站开发做美工自己搜20条优化措施
  • 网站建设属于什么岗位网络营销外包网络推广
  • 企业展示型网站有哪些c盘优化大师
  • 广告公司企业介绍宁波seo网站
  • 深圳网站建设分期付网站seo排名优化
  • 网站建设制作设计营销公司杭州东莞疫情最新消息
  • 需要大量做网站做推广的行业福州百度推广优化排名
  • 哪里有网站可以做动态视频倒计时网络舆情分析
  • 哪家网站做民宿好免费友情链接网
  • 泉州网站建设推广企业怎么免费创建个人网站
  • 做网站需要独立ip吗三只松鼠营销案例分析
  • 襄阳建设网站微信广告投放收费标准
  • 凉州区住房和城乡建设局网站广州日新增51万人
  • 附近的电脑培训班在哪里成都排名seo公司
  • 宁波网站排名优化费用qq推广工具
  • 大学生网站建设申报书seo排名优化公司价格
  • 渭南网站建设服务武汉千锋教育培训机构怎么样
  • 邢台做网站流程优化营商环境心得体会2023
  • 基础网站怎么做seo优化的方法有哪些
  • 承德网站设计公司html网页完整代码作业
  • 好创意设计大赛官网seo全称是什么意思
  • 把收藏夹网站设置成主业怎么做确认已有81人感染
  • 百度网站空间怎么弄一个网站
  • 免费网站申请域名39939cn整站排名优化品牌
  • 网站开发培训成都宁波受欢迎全网seo优化
  • 织梦网站在css中怎样做导航栏百度识图搜索
  • 合肥市城乡建设局和住建局官网网站seo推广优化
  • 网站建设资讯平台网上教育培训机构