Leetcode--523. 连续的子数组和
給定一個包含非負數的數組和一個目標整數?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。
說明:
數組的長度不會超過10,000。
你可以認為所有數字總和在 32 位有符號整數范圍內。
提交的代碼:
class?Solution?{
????public?boolean?checkSubarraySum(int[]?nums,?int?k)?{
????????HashMap<Integer,Integer>?map?=?new?HashMap<>();
??????????int?sum?=?0;
??????????map.put(0,-1);//0取余任何數都為0,所以有兩個連續的0即為true,把0的值取為-1,如果第一個位置為0,不返回true,其? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //他時候返回true
??????????for?(int?i?=?0;?i?<?nums.length;?i++)?{
????????????????sum?+=?nums[i];
????????????????if?(k?!=?0)
????????????????????sum?=?sum?%?k;
????????????????if?(map.containsKey(sum))?{
????????????????????if?(i?-?map.get(sum)?>?1)
????????????????????????return?true;
????????????????}?else
????????????????????map.put(sum,?i);
????????????}
????????????return?false;
????}
}
總結
以上是生活随笔為你收集整理的Leetcode--523. 连续的子数组和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html利用js生成excel表格(ht
- 下一篇: 【剑指offer】面试题23:链表中环的