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

响应网站模板下载报个电脑培训班要多少钱

响应网站模板下载,报个电脑培训班要多少钱,备案网站应用服务,网站建设哪个公司服务好题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 输入输出示例 输入&…

题目描述

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

找出该数组中满足其总和大于等于 target 的长度最小的子数组

[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

输入输出示例

输入:target = 7, nums = [2,3,1,2,4,3]

输出:2

解释:子数组 [4,3] 是该条件下的长度最小的子数组。

解决方案

方式一:滑动窗口
算法思想

定义两个指针 start 和 end 分别表示子数组(滑动窗口窗口)的开始位置和结束位置,维护变量 sum 存储子数组中的元素和(即从 nums[start] 到 nums[end] 的元素和)。

初始状态下,start 和 end 都指向下标 0,sum 的值为 0。

每一轮迭代,将 nums[end] 加到 sum,如果 sum≥s,则更新子数组的最小长度(此时子数组的长度是 end−start+1),然后将 nums[start] 从 sum 中减去并将 start 右移,直到 sum

实现代码
class Solution {public int minSubArrayLen(int target, int[] nums) {int n=nums.length;if(n==0){return 0;}int ans=Integer.MAX_VALUE;int start=0,end=0;//窗口的左边界和右边界int sum=0;//窗口的元素和while(end<n){//向右滑动sum+=nums[end];//当窗口内的元素和大于等于目标值,缩小窗口while(sum>=target){ans=Math.min(ans,end-start+1);sum-=nums[start];start++;}//否则扩大窗口end++;}//考虑达不到目标值的情况return ans==Integer.MAX_VALUE?0:ans;}
}
复杂度分析

时间复杂度:O(n),其中 n 是数组的长度。指针 start 和 end 最多各移动 n 次。

空间复杂度:O(1)。

http://www.zhongyajixie.com/news/42694.html

相关文章:

  • 电影网站排名怎么做百度点击优化
  • seo优化网站网页教学2023年10月疫情还会严重吗
  • 网站设计与制作简单吗重庆seo是什么
  • 求购信息网站统计工具
  • 建立网站 英语怎样建立自己网站
  • wordpress 获取导航栏seo关键词优化最多可以添加几个词
  • 韩国食品网站设计欣赏关键词如何快速排名
  • 跨境电商怎么做流程网站seo平台
  • 有关于网站建设类似的文章网络宣传的方法渠道
  • 合肥网站建设托管自己开发网站怎么盈利
  • 网络营销运营推广方案下载北京seoqq群
  • 中国空间站对接成功搜索引擎优化简称
  • 武昌做网站jw100谷歌搜索引擎免费入口 台湾
  • 三统文化传播网站可以直接打开网站的网页
  • 个人网页设计作品开题报告手机端网站优化
  • 郑州铭功路网站建设网络销售每天做什么
  • 房地产广告设计网站淘宝关键词指数查询
  • 在深圳做网站多少钱seo免费系统
  • 烟台酒店网站建设使用 ahrefs 进行 seo 分析
  • 模板性网站建设做seo需要哪些知识
  • 上海专业建网站公司嘉兴seo外包公司
  • 新网站建设信息baike seotl
  • 软件研发和开发的区别seo网站诊断报告
  • 网站开发样板信息流投放平台
  • 做游戏赚钱的网站关键词代发排名首页
  • 可以做护考题目的网站如何做网络营销
  • 佛山网站建设seo优化厦门百度广告开户
  • 800元网站建设做百度网站一年多少钱
  • wordpress如何修改顶部栏郑州网站seo公司
  • 网站可以做匿名聊天吗东莞全网营销推广