[leetcode] shortest-subarray-with-sum-at-least-k 和至少为 K 的最短子数组

. - 力扣(LeetCode)

class Solution {
public:
    int shortestSubarray(vector<int>& nums, int k) {
        int n = nums.size();
        vector<long> preSumArr(n + 1);
        for (int i = 0; i < n; i++) {
            preSumArr[i + 1] = preSumArr[i] + nums[i];
        }
        int res = n + 1;
        deque<int> qu;
        for (int i = 0; i <= n; i++) {
            long curSum = preSumArr[i];
            while (!qu.empty() && curSum - preSumArr[qu.front()] >= k) {
                res = min(res, i - qu.front());
                qu.pop_front();
            }
            while (!qu.empty() && preSumArr[qu.back()] >= curSum) {
                qu.pop_back();
            }
            qu.push_back(i);
        }
        return res < n + 1 ? res : -1;
    }
};

相关推荐

  1. 面试算法6/400-至少 K 数组

    2024-07-11 21:02:02       30 阅读
  2. Leetcode 3097. Shortest Subarray With OR at Least K II

    2024-07-11 21:02:02       35 阅读
  3. leetcode—K数组

    2024-07-11 21:02:02       53 阅读
  4. 560.K数组

    2024-07-11 21:02:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 21:02:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 21:02:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 21:02:02       58 阅读
  4. Python语言-面向对象

    2024-07-11 21:02:02       69 阅读

热门阅读

  1. 架构面试-场景题-单点登录(SSO)怎么实现的

    2024-07-11 21:02:02       23 阅读
  2. 深入理解Spring Boot中的事件驱动架构

    2024-07-11 21:02:02       20 阅读
  3. DDD架构面试问题

    2024-07-11 21:02:02       20 阅读
  4. 解析 pdfminer pdfparser.py

    2024-07-11 21:02:02       23 阅读
  5. 解决vue3子组件onMounted中获取不到props的值

    2024-07-11 21:02:02       17 阅读
  6. 关系代数中的八种基本运算

    2024-07-11 21:02:02       22 阅读
  7. Oracle 确认被锁对象

    2024-07-11 21:02:02       19 阅读
  8. 【思考Spring Security框架的相关问题】

    2024-07-11 21:02:02       25 阅读
  9. 在SpringBoot使用AOP防止接口重复提交

    2024-07-11 21:02:02       23 阅读
  10. Spring AOP的几种实现方式

    2024-07-11 21:02:02       19 阅读
  11. pytorch 模型保存到本地之后,如何继续训练

    2024-07-11 21:02:02       23 阅读