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

专业建网站 优帮云专门做进口零食的网站

专业建网站 优帮云,专门做进口零食的网站,tvc广告片制作公司,青岛设计谷科技有限公司引入:滑动窗口首先,这是滑动窗口的第一道题,所以简短的说一下滑动窗口的思路:当我们题目要求找一个满足要求的区间的时候,且这个区间的left和right指针,都只需要同向移动的时候,就可以使用滑动窗…

引入:滑动窗口

首先,这是滑动窗口的第一道题,所以简短的说一下滑动窗口的思路:

当我们题目要求找一个满足要求的区间的时候,且这个区间的left和right指针,都只需要同向移动的时候,就可以使用滑动窗口,这个区间可以变长,变短,但是双指针一定是同向移动即可!

所以滑动窗口的题目一般分别以下3步:

  1. 窗口定义:用 left 和 right 指针表示当前窗口的左右边界。

  2. 移动规则

    • 进窗口right++):当满足条件时,扩大窗口以包含新元素。

    • 出窗口left++):当不满足条件时,收缩窗口以排除左侧元素。

    • 由1,2可知,left和right都是同向移动(一般是向右)

  3. 统计结果:在移动过程中,根据题目要求记录最优解(如最长/最短子数组)。

注:有时候是出窗口后再判断更新,有时候是进窗口就可以更新,视题目而定!

一:题目

解释:找一个最短的连续子数组的和 >=taget

二:算法

①:暴力

暴力解法的时间复杂度:N^3 

a:枚举所有可能的子数组:一个长度为 n 的数组有 O(n^2) 个子数组(起点有 n 种选择,终点有 n 种选择,但实际是 n(n+1)/2,即 O(n^2))。
b:计算每个子数组的和:对于每个子数组,需要遍历其所有元素求和。最坏情况下(子数组长度为 n),求和的时间复杂度是 O(n)。
c:所以:总时间复杂度为 O(n) × O(n) × O(n) = O(n^3)。

暴力能优化的点:

讲暴力就是因为要对其进行优化,而优化过后就会发现其能用滑动窗口的思想来解决!

数组:[2,3,1,2,4,3]

当left 为2 right为2的时候 此时子数组和为8,如果按照暴力,此时我们的left会往走一个,然后right再回到left的位置向后继续遍历

优化1:但是其实我们right不用再动,只用left++即可,此时若是仍满足要求,则更新长度即可,反之不满足,则right++即可!


优化2:当left为更新为3的时候 此时我们right是指向2的 此时right可以不先回退! 先更新得知和为6,若此时的和仍大于等于t(7) 则更新区间长度,然后left直接再++ !; 反之小于t则right++

所以,综上所述,次此题是一个双指针同向移动的题目,所以用滑动窗口来解决!

②:滑动窗口

采取和滑动窗口之后,我们的双指针最多只用遍历数组一遍,所以时间复杂度为O(N)

三:代码

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int left = 0,right=0,len = INT_MAX,sum=0;for(;right<nums.size();right++){sum+=nums[right];//窗口总值++while(sum>=target)//窗口符合要求{len=min(len,(right-left+1));//取区间最小值去更新lensum-=nums[left];//出窗口 减去left的值 left++;//left++}}return (len==INT_MAX?0:len);//为INT_MAX代表此题无解,则返回0}
};

易错点:

①:当窗口满足要求的时候,一定是while循环,然后出一次窗口,判断一次是否窗口还符合要求,符合则继续出窗口,直到窗口不符合要求

②:更新结果,不是窗口满足要求就更新到len,而是把当前次满足要求的结果和之前的len取较小值去更新

③:len一开始直接给个最大值,因为我们求得是区间的最小值。滑动窗口的题目,让你求最小你就给INT_MAX,让你求最大值,你初识为0,准没错!

http://www.dtcms.com/a/584650.html

相关文章:

  • 网站怎么做效果好美容整形网站模板
  • 我做网站啦 圆通导航有网站怎么做下载直链
  • 张家界建设网站的公司服务专业的建网站公司电话
  • 郑州%公司 网站建设淘宝网站建设 推广 上海
  • 青岛北京网站建设公司土建设计网站
  • 我国档案网站建设家装设计师工资高吗
  • 教育课程网站建设网页云原神
  • 章贡区综合网站建设商家林业网站模板
  • 做soho外贸网站网站开发项目启动成本
  • 许昌市住房和城乡建设部网站网站策划书的基本内容
  • html5手机网站开发免费网络在线打电话
  • 广州微网站建设哪家好免费代运营
  • 小型电子商务网站规划新会网站设计
  • 企业网站模板源码资源下载企石做网站
  • 南宁网站建设哪网上电商教程
  • 张掖公司网站制作wordpress 列表页
  • 那些网站反爬做的好一步一步网站建设教程
  • 苏州 做网站合肥网站制作需
  • 网站seo视频网站什么模板做的
  • 做洗衣液的企业网站受欢迎的手机网站建设
  • 如何利用NAS做网站承接各类网站建设
  • 建网站要会什么域名批量查询
  • 自己做网站的难度花钱也可以哪些网站可以做推广广告
  • 新手做网站的几个必要步骤公众号软文怎么写
  • 手工包网站建设策划书广州建设网站的公司简介
  • 灵武市建设银行网站游戏网站logo制作
  • 然后做服装网站怎么设置网址
  • 酒泉网站建设哪家好句容建设质检站网站
  • 保定市住房保障和城乡建设局网站企业名录搜索软件现在那个能用
  • 杭州网站建设seo设计类网站建设规划书