当前位置: 首页 > 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.dinnco.com/news/51027.html

相关文章:

  • 网站开发公司需要哪些部门河南网站排名优化
  • 网站制作教学短网址链接生成
  • 郑州专业网站建设公司首选长沙的seo网络公司
  • 网站开发合同 黑客攻击条款衡水seo营销
  • flash网站素材下载网站编辑
  • 手机网站建设中心链接买卖
  • 衢州网站设计排名今日竞彩足球最新比赛结果查询
  • 专门做分析图的网站一链一网一平台
  • 锦州做网站公司长沙做搜索引擎的公司
  • 做网站开发学什么软件dw网页制作教程
  • 做侵权网站用哪里的服务器稳怎样做好销售和客户交流
  • 做文案的网站有些什么软件谷歌paypal官网
  • 在线crm在线oa免费观看关键词优化报价怎么样
  • 信息手机网站模板下载广州网站快速排名
  • 重庆做木门网站公司简介广东河源最新疫情
  • 德州北京网站建设营销网络的建设有哪些
  • 响应式旅游网站模板下载朝阳区搜索优化seosem
  • 网站广告销售怎么做推广方式有哪几种
  • 建网站非要做外链吗会计培训班推荐
  • 做电商网站注意什么问题商丘网站seo
  • 提供微信网站建设长春做网站推荐选吉网传媒好
  • 网站建设与管理好吗5g站长工具seo综合查询
  • 公司做网站需要哪些手续怎么找拉新推广平台
  • 网站建设中 windows自媒体平台注册官网下载
  • 企业网站建设选题的依据及意义百度搜索引擎广告
  • 图书馆网站建设方案唐山百度搜索排名优化
  • 手机的网站建设目标百度客服在线咨询电话
  • 自己怎么优化网站排名seo查询源码
  • 域名购买网站有哪些软文营销写作技巧有哪些?
  • 政府机关网站建设方案广州seo网站