力扣面试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;
    }
}
相关推荐
用户11481867894842 小时前
Vite项目中的SVG雪碧图
前端·面试
会员源码网3 小时前
使用`mysql_*`废弃函数(PHP7+完全移除,导致代码无法运行)
后端·算法
木心月转码ing4 小时前
Hot100-Day10-T438T438找到字符串中所有字母异位词
算法
晴殇i4 小时前
CommonJS 与 ES6 模块引入的区别详解
前端·javascript·面试
HelloReader5 小时前
Wi-Fi CSI 感知技术用无线信号“看见“室内的人
算法
青青家的小灰灰5 小时前
金三银四面试官最想听的 React 答案:虚拟 DOM、Hooks 陷阱与大型列表优化
前端·react.js·面试
颜酱8 小时前
二叉树分解问题思路解题模式
javascript·后端·算法
zone77398 小时前
001:LangChain的LCEL语法学习
人工智能·后端·面试
zone77398 小时前
001:简单 RAG 入门
后端·python·面试
前端Hardy8 小时前
告别 !important:现代 CSS 层叠控制指南,90% 的样式冲突其实不用它也能解
前端·vue.js·面试