当前位置: 首页 > 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.tj-hxxt.cn/news/92563.html

相关文章:

  • 自建网站做淘宝联盟南宁网站建设网站推广
  • 做网站原创要多少钱短视频如何引流与推广
  • 东莞网站优化制作搜索引擎营销案例分析题
  • liunx做网站跳转优就业seo课程学多久
  • 网站类型大全服务营销理论
  • 网站管理员权限怎么设置关键词seo培训
  • 网站建设发展情况seo服务哪家好
  • 有一个域名做网站优化seo网站
  • 做房源网站十大免费网站推广
  • 宝塔面板做网站合肥百度推广公司哪家好
  • 内蒙古做网站上海谷歌推广
  • 加强理想信念教育主题网站建设网络宣传方案
  • 做网站怎么回本百度竞价排名榜
  • 深圳出台多个利好政策seo推广营销公司
  • 检测软件定制seo基础知识
  • 京东网站建设2022年最新最有效的营销模式
  • 济南比较大的网站制作公司泰安网络推广培训
  • 腾讯企业邮箱注册申请官网东莞seo优化公司
  • 做废钢那个网站好东莞seo网站管理
  • 做时时彩网站数据分析师
  • 网站怎么做404 301今日小说搜索百度风云榜
  • 培训机构前端班课哈尔滨seo推广
  • 做网站一天忙吗关键词优化
  • 网站开发时seo专员工资待遇
  • html5 网站建设三只松鼠网络营销案例分析
  • 婺源网站建制作优化 保证排名
  • avada主题做网站seo关键词怎么选择
  • 做pc端网站效果兰州网络推广与营销
  • 业务宣传网站建设seo推广软件
  • 哈尔滨网站制作费用网上营销