LeetCode 523. 连续的子数组和(求余 哈希)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 523. 连续的子数组和(求余 哈希)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一個包含非負數的數組和一個目標整數 k,編寫一個函數來判斷該數組是否含有連續的子數組,其大小至少為 2,總和為 k 的倍數,即總和為 n*k,其中 n 也是一個整數。
示例 1: 輸入: [23,2,4,6,7], k = 6 輸出: True 解釋: [2,4] 是一個大小為 2 的子數組,并且和為 6。示例 2: 輸入: [23,2,6,4,7], k = 6 輸出: True 解釋: [23,2,6,4,7]是大小為 5 的子數組,并且和為 42。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/continuous-subarray-sum
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
-
類似題目:
LeetCode 560. 和為K的子數組(前綴和差分)
LeetCode 862. 和至少為 K 的最短子數組(前綴和+deque單調棧)
LeetCode 974. 和可被 K 整除的子數組(哈希map) -
對前n個數求和,每次和對k取余,存入哈希表m[sum%k] = i
-
再次找到時,表明存在區間和為k的倍數
總結
以上是生活随笔為你收集整理的LeetCode 523. 连续的子数组和(求余 哈希)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LintCode 183. 木材加工(二
- 下一篇: LeetCode 752. 打开转盘锁(