算法-滑动窗口

目的:减少while循环

a=[1,4,2,3,4,5,6] 3个为一组,取最大的和

滑动窗口只需要减去一个数加上一个数

主要解决的是:数组中的定长问题  

力扣209

class Solution {
    public int minSubArrayLen(int target, int[] nums) {
//最左边的窗口位置
        int f = 0;
//最右边的窗口位置
        int l = 0;
//记录长度的,初始值是任意一个比数组长度大的值,目的是任何滑动窗口长度都比这个值小
        int res = nums.length+1;
//记录几数之和
        int sum =0;
//当右边窗口位置达到数组最后的时候循环结束
        while(l < nums.length){
//在总和值小于target的情况下扩大滑动窗口ba
//把新的右边窗口加进来
                sum = sum + nums[l];
//把指针先放到右边一个,为下一次添加进来做准备
                l++;
//当总和值大于等于target的时候,对滑动窗口进行精简,试着减少滑动窗口最左边的值看看是不是还是大于target
          
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值