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

代码家的干货网站电商网站建设企业

代码家的干货网站,电商网站建设企业,公众号管理平台,wordpress缺少功能题目 给定一个含有 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循环的工作,滑动窗口思想

Q1:一个for循环中的j应该指向滑动窗口的末端还是滑动窗口的开始位置?

如果指向开始位置,那么找到那个末端就很难,需要他从开端位置全部遍历寻找,如果是末端的话,末端先移动,然后前面的指针在移动就可,所以应该是后端

Q2:循环中应该是for循环还是while循环

如果数组是1111 100,target是100,遍历到最后,sum=104然后前面指针开始缩小范围,缩小一个变成103,继续缩小...所以需要一直进行,if只进行一次,所以需要用while。

代码

class Solution {public int minSubArrayLen(int target, int[] nums) {int result=Integer.MAX_VALUE;//把他设置成最大值,也就是integer类型的最大值int sum=0;int i=0;for(int j=0;j<nums.length;j++){//这是滑动窗口的末端sum+=nums[j];while(sum>=target){//如果sum>=target,那么就可以缩小前面的指针,找到最小的子数组result=Math.min(result,j-i+1);//这些子数组的集合中找到最小的sum-=nums[i];i++;//移动前面指针}}return result==Integer.MAX_VALUE ?0:result;}
}

http://www.yayakq.cn/news/967974/

相关文章:

  • 网站建设概念股优化推广联盟
  • 网站添加微信支付功能加强网站建设技术培训
  • 南通教育平台网站建设购买wordpress现有模板
  • 网站推广效果怎么样企业管理咨询公司招聘
  • 四川省城乡与建设厅网站首页网页模板下载 免费 html
  • 无锡seo公司seo入门书籍
  • 做珠宝商城网站wordpress导航固定
  • 附近哪里需要招人seo关键词优化报价
  • 涡阳网站建设wordpress theme开发
  • 毕设帮做网站南宁网站建设公司招聘
  • 牡丹江市住房和城乡建设局网站宣传片制作公司费用
  • 合肥网站的优化mysql php网站开发
  • 贵州省住房和城乡建设厅官方网站首页网站开发的实验心德
  • a站下载安装网站制作教程ppt
  • 中小微企业网站建设单位写材料素材网站
  • 建网站申请美团服务商平台
  • 学做网站去哪学在线python编程网页
  • 带做网站如何查询网站是谁做的
  • 做散客机票的网站如何推广自动化毕设题目网站开发
  • 长春做网站的公司有哪些wordpress修改密码函数
  • 动力网站建设网站建设 不违背
  • seo怎么判断网站的好坏网页制作基本步骤
  • 可信网站标志郑州做企业网站的
  • 做单页网站容易排名吗搜索引擎网站推广法
  • 微网站站点名称天津网站建设优选企业
  • 网站建设公司圣辉友联手机网站 需求模板
  • 网站管理机制建设情况企业为什么要自助建站
  • 医疗网站建设策划中能建西北城市建设门户网站
  • 网站建设有哪些种类最好看免费观看高清大全大理寺少
  • 用网站做简历模板大连市建设工程电子文件编辑软件