当前位置: 首页> 娱乐> 影视 > 合肥经开区网络推广的公司_2021最新网页游戏开服表_网页模版_百度搜索广告价格

合肥经开区网络推广的公司_2021最新网页游戏开服表_网页模版_百度搜索广告价格

时间:2025/7/13 5:28:12来源:https://blog.csdn.net/weixin_74681777/article/details/142964278 浏览次数:0次
合肥经开区网络推广的公司_2021最新网页游戏开服表_网页模版_百度搜索广告价格

题目

 

题解

当需要查找数组中某些连续的数字之和,适合使用滑动窗口

先将滑动窗口的长度设置为0,先将左侧固定,右边界向右移动,同时计算需要找的条件,直到找到可行解为止

当找到可行解后,对其进行优化,本题优化方式为将左边界向右移动,使滑动窗口内的数字个数减小,直到不符合条件为止

最后,将优化后的最优解返回,作为结果返回

代码

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {//先判断数组长度int numSize=nums.size();if(numSize==0)  //如果数组长度为0,不用判断target值,直接返回0即可{return 0;}int resMin=INT_MAX;//先设最短数组长度为最大值,最后根据minSize是否为INT_MAX判断最终长度int left=0;     //左边界为0int right=0;    //右边界为0//滑动窗口此时长度为0int sum=0;  //滑动窗口内的值之和while(right<numSize)    //右边界向右移动,直到到达数组的右边界{sum=sum+nums[right];    //计算滑动窗口内的值之和while(sum>=target)   //当窗口中的值大于等于目标值,符合条件时,证明找到可行解,接下来对可行解进行优化{int subLen=right-left+1;    //计算滑动窗口长度if(subLen<resMin)       //如果可行解的长度小于解的初始值,更新设定值{resMin=subLen;      //将目前最优解更新}sum=sum-nums[left++];   //如果有符合条件的可行解,则将滑动窗口左侧向右移再看}right++;}return resMin==INT_MAX?0:resMin;}
};
关键字:合肥经开区网络推广的公司_2021最新网页游戏开服表_网页模版_百度搜索广告价格

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: