LeetCode 862. 和至少为 K 的最短子数组(前缀和+deque单调栈)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 862. 和至少为 K 的最短子数组(前缀和+deque单调栈)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 題目
返回 A 的最短的非空連續(xù)子數(shù)組的長度,該子數(shù)組的和至少為 K 。
如果沒有和至少為 K 的非空子數(shù)組,返回 -1 。
示例 1: 輸入:A = [1], K = 1 輸出:1示例 2: 輸入:A = [1,2], K = 4 輸出:-1示例 3: 輸入:A = [2,-1,2], K = 3 輸出:3提示: 1 <= A.length <= 50000 -10 ^ 5 <= A[i] <= 10 ^ 5 1 <= K <= 10 ^ 9來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/shortest-subarray-with-sum-at-least-k
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
類似題目:
LeetCode 560. 和為K的子數(shù)組(前綴和差分)
LeetCode 523. 連續(xù)的子數(shù)組和(求余 哈希)
LeetCode 974. 和可被 K 整除的子數(shù)組(哈希map)
- 參考官方思路
- deque存儲前綴和的下標(biāo),隊內(nèi)前綴和需要嚴(yán)格單調(diào)遞增
- 跟隊首的差值 >= k 時,記錄最小長度,刪除隊首
總結(jié)
以上是生活随笔為你收集整理的LeetCode 862. 和至少为 K 的最短子数组(前缀和+deque单调栈)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1258. 近义词句子
- 下一篇: LeetCode 1239. 串联字符串