力扣面试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;
    }
}
相关推荐
OYangxf8 分钟前
力扣hot100【子串专题】
算法·leetcode·职场和发展
WL_Aurora14 分钟前
Python 算法基础篇之元组与列表
python·算法
Brilliantwxx15 分钟前
【算法题】递归树+哈希表+分治异或+双指针
开发语言·c++·笔记·算法
yugi98783815 分钟前
经典三维表面重建算法(C语言实现)
c语言·开发语言·算法
无限进步_18 分钟前
【C++】智能指针族谱:auto_ptr、unique_ptr、shared_ptr
java·开发语言·数据结构·c++·算法
Brilliantwxx19 分钟前
【C++】Stack和Queue(初认识和算法题OJ)
开发语言·c++·笔记·算法
fffzd23 分钟前
C++入门(二)
开发语言·c++·算法·函数重载·引用·inline内联函数·nullptr
傻瓜搬砖人23 分钟前
c语言绿皮书第三版第十章习题
c语言·开发语言·算法
Lazionr27 分钟前
数据结构堆详解:原理、实现与应用
数据结构·算法
故事和你9132 分钟前
蓝桥杯-2026年C++B组省赛
开发语言·数据结构·c++·算法·蓝桥杯·动态规划·图论