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

建设高校图书馆网站的意义建网站多少钱

建设高校图书馆网站的意义,建网站多少钱,宁波网站建设培训学校,网站知识网站本来觉得自己双指针学的还可以了,于是今天直接刷了一道滑动窗口题,没想到还是被坑绊倒了两次。这次我想记录在博客里,不仅可以防止我以后重蹈覆辙,兴许也还可以帮助到其他人。 题目来自力扣:209. 长度最小的子数组 - …

本来觉得自己双指针学的还可以了,于是今天直接刷了一道滑动窗口题,没想到还是被坑绊倒了两次。这次我想记录在博客里,不仅可以防止我以后重蹈覆辙,兴许也还可以帮助到其他人。

题目来自力扣:209. 长度最小的子数组 - 力扣(LeetCode)

最一开始,以为自己双指针学的很好,刚好也可以用到这道题上。于是有了思路:定义两个指针,一个指针走的快,一个指针走的慢。初始化sum=0用来记录两个指针走过的数组和。快指针先走,快指针每走一个数就将其存入sum中,直到sum>=target就停下,记录len=Math.min(len,i-j+1),然后慢指针开始向后遍历数组,并让快指针回到慢指针的位置,重复之间的动作。这个方法就是暴力解法,也是我陷入的第一个固定思维。

代码如下:

    public int minSubArrayLen(int s, int[] nums) {int sum=0;int len=0;for (int j=0;j<nums.length;j++){int i=j;while(i<=nums.length){if (sum<s){sum+=nums[i++];}else {len=Math.min(len,i-j+1);}}}return len;}

这个误区在于,我没有正确认识到要把哪个指针放到while中,如果是把快指针放入while中,那如果sum>target,直接让sum减掉num[慢指针]就好了呀,这样慢指针也只需要遍历一次。

代码如下:

    public int minSubArrayLen2(int s, int[] nums) {int sum=0;int len=Integer.MAX_VALUE;int start=0;for (int end=0;end<nums.length;end++){sum+=nums[end];while (sum>=s){len=Math.min(len,end-start+1);sum-=nums[start];start++;}}return len==Integer.MAX_VALUE?0:len;}

注意:要用while (sum>=s)而不是if (sum>=s)。因为要一直让快指针走,直到sum>=s后,慢指针才能向前走。

http://www.cadmedia.cn/news/7441.html

相关文章:

  • 支付宝股东日本软银集团seo编辑是干什么的
  • 北京网站制作公司兴田德润实力强百度竞价排名商业模式
  • 阳泉网站建设和生活爱辽宁免费下载安装
  • 网站制作公司业务发展方案360seo关键词优化
  • 武威做网站的深圳网站建设找哪家公司好
  • 上海疫情最新消息今天又封了邯郸网站优化
  • 厦门营销网站建设公司goole官网
  • 网站日常维护有哪些网络广告宣传平台
  • 哪些公司经常做网站长春seo按天计费
  • 重庆市建设工程信息网电话天天seo站长工具
  • 电商推广专员做什么seo研究所
  • 建设第三方公众号平台网站教程小红书推广引流
  • 网站搭建修改收费依据百度seo排名点击器app
  • 免费网站建设可信赖新闻投稿
  • 北京市住房城乡建设委 房管局 官方网站站长之家素材网
  • 设计公司网站欣赏关键词搜索工具好站网
  • 陶然亭网站建设厦门seo推广公司
  • 怎么发布php网站t和p在一起怎么做网站
  • 平面接单平台淘宝怎么优化关键词排名
  • 广州商务网站建设宁波网络营销推广咨询报价
  • 汕尾做网站一手渠道推广平台
  • 爱做的小说网站小红书信息流广告
  • 新疆建设工程招标公告宁波网站建设网站排名优化
  • 花店电子商务网站建设课题设计做网络推广的公司
  • 钓鱼网站生成器互联网培训班学费多少
  • 网站seo推广怎么做长春网站建设方案托管
  • 门户网站建设标准产品的网络推广要点
  • 重庆网站建设技术支持网络营销项目策划方案
  • 凡科建站容易吗网络营销公司名字大全
  • 杭州市建设信用网网站企业推广策划