力扣面试150 长度最小的子数组 滑动窗口

Problem: 209. 长度最小的子数组

参考题解

滑动窗口

Java 复制代码
class Solution {
    public int minSubArrayLen(int target, int[] nums) {
        int n = nums.length;
        int ans = n + 1;
        int sum = 0; // 子数组元素和
        int left = 0; // 子数组左端点
        for (int right = 0; right < n; right++) { // 枚举子数组右端点
            sum += nums[right];
            while (sum >= target) { // 满足要求
                ans = Math.min(ans, right - left + 1);
                sum -= nums[left++]; // 左端点右移
            }
        }
        return ans <= n ? ans : 0;
    }
}
相关推荐
hans汉斯12 小时前
基于数据重构与阈值自适应的信用卡欺诈不平衡分类模型研究
大数据·算法·机器学习·重构·分类·数据挖掘·机器人
ZPC821012 小时前
FANUC 机器人 PR 寄存器
人工智能·python·算法·机器人
yong999012 小时前
超宽带系统链路 MATLAB 仿真
开发语言·算法·matlab
历程里程碑12 小时前
LeetCode 560题:和为K子数组最优解
算法·哈希算法·散列表
qq_4017004113 小时前
C/C++中的signed char和unsigned char详解
c语言·c++·算法
leoufung13 小时前
LeetCode 67. Add Binary:从面试思路到代码细节
算法·leetcode·面试
无限进步_13 小时前
【C语言】循环队列的两种实现:数组与链表的对比分析
c语言·开发语言·数据结构·c++·leetcode·链表·visual studio
wjykp13 小时前
79~87逻辑回归f
算法·机器学习·逻辑回归
聆风吟º13 小时前
【顺序表习题|图解|双指针】合并两个有序数组 + 训练计划 I
c语言·数据结构·c++·经验分享·算法
wa的一声哭了13 小时前
矩阵分析 方阵幂级数与方阵函数
人工智能·python·线性代数·算法·自然语言处理·矩阵·django