力扣面试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;
    }
}
相关推荐
烁34723 分钟前
每日一题(小白)动态规划篇2
算法·动态规划
佩奇的技术笔记35 分钟前
中级:Maven面试题精讲
java·面试·maven
南玖yy1 小时前
数据结构C语言练习(栈)
c语言·数据结构·算法
雷渊1 小时前
深入分析Spring的事务隔离级别及实现原理
java·后端·面试
阿镇吃橙子1 小时前
一些手写及业务场景处理问题汇总
前端·算法·面试
逆袭的小黄鸭1 小时前
JavaScript:作用域与作用域链的底层逻辑
前端·javascript·面试
酱酱哥玩AI1 小时前
Trae编译器:实现多目标班翠鸟优化算法(IPKO)无人机路径规划仿真(Python版),完整代码
算法
MPCTHU1 小时前
二叉树、排序算法与结构图
数据结构·算法·排序算法
亓才孓1 小时前
[leetcode]树的操作
算法·leetcode·职场和发展
王禄DUT2 小时前
化学方程式配平 第33次CCF-CSP计算机软件能力认证
开发语言·c++·算法