力扣面试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;
    }
}
相关推荐
钓鱼的肝13 小时前
csp-j-s总结(2)
c++·经验分享·笔记·算法·青少年编程
奇妙之二进制14 小时前
机器人导航路径规划算法入门(6)Dijkstra(迪杰斯特拉)算法深入解析
算法·导航
Niuguangshuo14 小时前
论文解读:Qwen2-Audio,阿里的通用音频语言模型
算法·音视频·语音识别
纯音乐sjc15 小时前
SPI 通信协议详解:从四线制到 ADXL345
面试·嵌入式
WiChP15 小时前
【V0.1B16】从零开始的2D游戏引擎开发之路
开发语言·算法·游戏引擎
纯音乐sjc15 小时前
嵌入式面试复习准备
面试·嵌入式
ShineWinsu15 小时前
对于Git:基础操作的超详细保姆级解析
linux·c++·git·面试·备份·管理·版本控制器
番茄巴士16 小时前
手写一个 mini HashMap,彻底搞懂哈希表原理
算法
圣保罗的大教堂16 小时前
leetcode 3742. 网格中得分最大的路径 中等
leetcode
晚安日记wanna16 小时前
Redis 持久化RDB 和 AOF 到底该怎么选
redis·面试·架构