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

东营免费网站制作潍坊疫情最新消息

东营免费网站制作,潍坊疫情最新消息,怎么做购物车网站,网站做实名验证码文章目录 209.长度最小的子数组题目描述暴力滑动窗口 209.长度最小的子数组 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度…

文章目录

  • 209.长度最小的子数组
    • 题目描述
    • 暴力
    • 滑动窗口

209.长度最小的子数组

题目描述

给定一个含有 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

示例 4:

输入:target = 15, nums = [5,1,3,5,10,7,4,9,2,8]
输出:2

提示:

  • 1 <= target <= 109
  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 105

进阶:

如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。

暴力

后面力扣更新了数据,暴力解法已经超时了。

class Solution {
public:// minSubArrayLen函数接收一个正整数target和一个正整数数组nums// 函数返回数组中总和至少为target的最短连续子数组的长度int minSubArrayLen(int target, vector<int>& nums) {int min = INT_MAX; // 初始化最小长度为INT_MAX,用于比较和记录最小值// 外层循环遍历数组,i指向当前考虑的子数组的起始位置for(int i = 0; i < nums.size(); i++) {long long sum = 0; // 初始化当前子数组的总和为0int length = 0; // 初始化当前子数组的长度为0// 内层循环尝试扩展子数组,j指向当前考虑的子数组的结束位置for(int j = i; j < nums.size(); j++) {sum += nums[j]; // 将nums[j]加到当前子数组的总和length++; // 当前子数组长度加1// 检查当前子数组的总和是否已经达到或超过了targetif(sum >= target && length < min) {min = length; // 如果是,更新最小长度break; // 并退出当前内层循环,因为我们已经找到以i开始的最短子数组}}}// 如果min仍然是INT_MAX,说明没有找到符合条件的子数组if(min == INT_MAX) return 0;// 否则返回记录的最小长度return min;}
};

滑动窗口

class Solution {
public:// minSubArrayLen函数接收一个正整数target和一个正整数数组nums// 函数返回数组中总和至少为target的最短连续子数组的长度int minSubArrayLen(int target, vector<int>& nums) {int result = INT_MAX; // 用于存储最短子数组长度的变量,初始化为INT_MAXint i = 0; // 滑动窗口的起始位置long long sum = 0; // 用于计算滑动窗口内数值之和的变量// 外循环,j表示滑动窗口的结束位置for(int j = 0; j < nums.size(); j++) {sum += nums[j]; // 将当前元素加到sum中// 内循环,若当前子数组和大于等于target,尝试收缩滑动窗口的起始位置while(sum >= target) {int length = j - i + 1; // 当前滑动窗口的长度result = min(result, length); // 更新找到的最短子数组长度sum -= nums[i++]; // 从sum中减去滑动窗口的起始元素,并将起始位置向右移动}}// 如果result仍然是INT_MAX,意味着没有找到符合条件的子数组,返回0if(result == INT_MAX) return 0;// 否则返回找到的最短子数组长度return result;}
};
http://www.yidumall.com/news/102994.html

相关文章:

  • 产品经理培训网站搜索优化排名
  • 重庆网络技术有限公司常州seo收费
  • 做公司网站排名无限制搜索引擎排名
  • 请概述网站建设的一般步骤快速排名新
  • 建设银网站信息流广告哪个平台好
  • 时网站建设公司管理q群排名优化软件
  • 宁波建设网站如何查询百度收录情况
  • 网站黑链代码黄金网站app视频播放画质选择
  • 海西州建设局网站优化营商环境
  • 公司建设网站费用属于什么费用品牌策划公司介绍
  • 专业网站的建设网站建设与管理就业前景
  • 网站图片展示方式有哪些网上怎么发布广告
  • 金华网站建设大型网页建设南昌seo计费管理
  • wordpress 缓存首页seo引擎优化是什么
  • 做网站是用myecli推广咨询服务公司
  • 百度seo服务佛山seo
  • 个人网站免费源码西安seo专员
  • 网站建设后续需要维护百度关键词价格排行榜
  • 建筑人才网招聘电气工程师搜索引擎优化的特点
  • 网站群集建设网络营销推广方案ppt
  • 地方网站怎么做挣钱北京seo产品
  • 做外墙资料的网站苏州搜索引擎优化
  • 做网站到底要不要备案优化营商环境心得体会个人
  • 经营网站 备案磁力库
  • 做投资的网站网络营销能干什么工作
  • 制作个网站多少钱西安百度网站快速优化
  • 自己做商品网站怎么做seo是什么职位简称
  • 做印尼购物网站如何发货百度seo软件是做什么的
  • 建设网站目的最佳bt磁力狗
  • 网站10月份可以做哪些有意思的专题google搜索引擎下载