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

百度新站关键词排名品牌设计公司

百度新站关键词排名,品牌设计公司,网络公关公司电话,如何在微信上做广告题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回0。 示例 1: 输入&am…

题目描述

给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回0

示例 1:


输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。

示例 2:

输入:target = 4, nums = [1,4,4]
输出:1

示例 3:

输入:target = 11, nums = [1,1,1,1,1,1,1,1]
输出:0

解题方法

在力扣中,暴力法已经超时,此处不说明暴力法,可参考代码随想录网站说明

滑动窗口法

参考视频代码随想录

所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。
滑动窗口用一个for循环来完成这个操作。
首先要思考 如果用一个for循环,那么应该表示 滑动窗口的起始位置,还是终止位置。
如果只用一个for循环来表示 滑动窗口的起始位置,那么如何遍历剩下的终止位置?
此时难免再次陷入 暴力解法的怪圈。
所以 只用一个for循环,那么这个循环的索引,一定是表示 滑动窗口的终止位置。
在这里插入图片描述
可以发现滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置。从而将O(n^2)暴力解法降为O(n)。

代码如下:

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int result = INT32_MAX;int sum = 0;    //滑动窗口内的数字和int subL = 0;   //滑动窗口的长度int i = 0;  //起始位置for(int j = 0; j < nums.size(); j++){sum += nums[j];while(sum >= target){subL = j - i + 1;result = result < subL ? result : subL;sum -= nums[i++];}}return result == INT32_MAX ? 0 : result;}
};

时间复杂度:O(n)
空间复杂度:O(1)

http://www.fp688.cn/news/144809.html

相关文章:

  • 网站后台系统是用什么做的宁波seo外包优化公司
  • 合肥百度推广排名优化合肥seo代理商
  • 青岛 外语网站建设游戏推广平台代理
  • 淮上网站建设it培训机构排名前十
  • 欧普建站外链火
  • 如何做营销型手机网站优化搜索关键词排名推广
  • 织梦后台怎么做导航栏的网站首页网站开发怎么做
  • 网站开发流程是什么北京优化seo排名
  • 重庆点优建设网站公司计算机培训课程
  • 钓鱼网站排名假冒建设银行最多公司搭建网站
  • 交友软件文大侠seo博客
  • 网站开发笔记本网络营销方案3000字
  • dedecms农业种植网站模板深圳网络络推广培训
  • 越南人一般去哪个网站做贸易线上推广有哪些
  • 淘客怎么做网站单页怎么建立网站的步骤
  • 网站欣赏公司网站案例百度云手机登录入口
  • 微信端网站开发流程图短网址生成器免费
  • 做网站用java还是php网店代运营合同
  • 做一个网站多长时间提升网页优化排名
  • 鄂州网站制作人才招聘北京seo关键词
  • 做网站商城靠谱下载百度语音导航地图
  • 免费注册微信搜索引擎优化自然排名的优点
  • 公司的网站建设价格网络优化论文
  • 疫情最新消息今天数据国内seo服务商
  • 免费网站设计模板百度在全国有哪些代理商
  • 企业网站建设费计入什么科目赛雷猴是什么意思
  • 网站权重2的网站2023适合小学生的新闻事件
  • 昆明做凡科网站郑州网站seo外包
  • 调研报告 政府网站建设广告代运营公司
  • 佛山医疗网站建设西安网络推广营销公司