LeetCode--长度最小的子数组

题目:

解析:

我们可以用滑动窗口的思想,通过一个动态的j表示结束位置,一个动态的i表示起始位置,假设满足初始条件的数组大小result为无穷大,通过j先遍历数组并求和,用一个sum存储元素的和,当sum的值大于等于target的值时,说明该区间是符合条件的区间,这时候通过i的右移(i++)看是否这个区间的能否更小(i右移的过程中sum要减去i下标所对应的值),区间的长度subl=j-i+1,用它和result进行比较选最小值为新数组的长度(如果不存在满足条件的数组,最后一定要把result的值改为0);

代码:

java 复制代码
class Solution {
    public int minSubArrayLen(int target, int[] nums) {
        int i = 0,sum = 0;
        int result = Integer.MAX_VALUE;
        for(int j = 0;j <= nums.length-1; j++){ 
            sum += nums[j];
            while(sum >= target){
                int subl = j - i + 1;
                result =Math.min(result,subl);
                sum -= nums[i];
                i++;
            }
        }
        return result == Integer.MAX_VALUE ? 0 : result;
    }
}
相关推荐
起个名字费劲死了5 分钟前
基于灰度/形状的2D模板匹配
算法
杜 硕11 分钟前
归并排序详解
数据结构·算法·排序算法
科技观察哨20 分钟前
国产纳米定位平台与精密位移台量产能力图谱(2026):Z轴压电、XYθZ、六自由度并联与光刻/检测/装配选型指南
网络·人工智能·算法
AIHR数智引擎1 小时前
蚂蚁350亿换不来智能体飞轮?拆中台和流水线
人工智能·经验分享·职场和发展·ai-native·aihr
鶴哥只手遮天1 小时前
《OpenFOAM 源码深度剖析》系列-第 3 章 字典系统、IO 体系与对象注册表
算法·开源
鶴哥只手遮天1 小时前
《OpenFOAM 源码深度剖析》系列-第 2 章 wmake:OpenFOAM 自研构建系统与编译配置体系
算法·开源
用户81849100742161 小时前
我把工位上的“AI牛马”养成了:一个技术人的 AiPy 实战手记
算法
Tisfy1 小时前
LeetCode 3727.最大交替平方和:排序 (双指针可选)
算法·leetcode·题解·贪心·数组·排序
鶴哥只手遮天1 小时前
《OpenFOAM 源码深度剖析》系列-第 9 章 有限体积离散框架:`fvMatrix`、`fvSchemes` 与 `fvSolution`
算法·开源
鶴哥只手遮天1 小时前
《OpenFOAM 源码深度剖析》系列-第 7 章 网格与拓扑体系:`polyMesh`、`primitiveMesh` 与 patch
算法·开源