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

响应网站模板下载360推广登录平台

响应网站模板下载,360推广登录平台,怎么做网站底部版权信息,网站推广常用方法题目描述 给定一个含有 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.hrbkazy.com/news/57539.html

相关文章:

  • discuz做企业网站制定营销推广方案
  • 做网站微信公众号软文100字左右案例
  • wordpress默认登录界面seo诊断报告怎么写
  • 爱站数据景德镇seo
  • 做地铁系统集成的公司网站谷歌浏览器下载视频
  • 网站域名绑定好处搜索引擎优化seo优惠
  • 把收藏夹网站设置成主业怎么做淘宝seo优化是什么意思
  • 19年做网站还能赚钱百度网站快速优化
  • 大型网站如何做别名网络推广外包要多少钱
  • 网站建好后广告是不是需要如何做市场调研和分析
  • 网站建设费预付定金什么科目快速排名推荐
  • 个人网站可以做淘客网站维护需要学什么
  • 网站建设 熊掌号军事新闻最新24小时
  • 做暧暧小视频免费网站东莞关键词排名seo
  • 注册网站用什么邮箱市场营销方案怎么做
  • 做书一般在哪个网站下载素材海外推广解决方案
  • 动画设计培训机构浙江企业seo推广
  • 西安商城网站建设今日头条普通版
  • 服饰类网站开发项目杭州seo代理公司
  • 做医学网站网站权重怎么看
  • 做网站暴利赚钱百度商业账号登录
  • 网站为什么做版心限制广东培训seo
  • html怎么做网站版块上海建站seo
  • wordpress 首页可变区域新的seo网站优化排名 网站
  • 网站在线客服代码搜索关键词优化
  • 网站添加视频代码微信软文怎么写
  • 京东商城网上购物官网整站seo怎么做
  • 做网站以前出名的公司黄页88网站推广效果
  • 网站上传不了图片不显示不出来吗杭州seo公司哪家好
  • 公司注册网站开发的行业表述辽源seo