Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (みけねこ的鼻屎)時間2年前 (2023/01/20 02:24), 編輯推噓1(100)
留言1則, 1人參與, 2年前最新討論串198/719 (看更多)
※ 引述《pandix (麵包屌)》之銘言: : Python code: : class Solution: : def subarraysDivByK(self, nums: List[int], k: int) -> int: : count = [1] + [0]*(k-1) : sum = res = 0 : for num in nums: : sum += num : res += count[sum%k] : count[sum%k] += 1 : return res 怎麼感覺推出來好像怪怪的 nums = [-1, 2, 9], k = 2 count = [1, 0] 1.sum = -1, res += count[-1] = 0, count[-1] = 1 2.sum = 1, res += count[1] = 0, count[1] = 1 3.sum = 10, res += count[0] = 1, count[0] = 2 res = 1 但是答案為2 查了一下 靠邀阿 python 的負數索引會自己位移 = = 不然一般來說這題要對負數做特別處理 class Solution { public int subarraysDivByK(int[] nums, int k) { int[] mod = new int[k + 1]; mod[0] = 1; int res = 0; int sum = 0; for (int num : nums) { sum = (sum + num % k + k) % k; res += mod[sum]; mod[sum]++; } return res; } } 偏數學的對我真的不太好想= = -- https://i.imgur.com/bFRiqA3.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.75.86 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1674152696.A.61C.html

01/20 06:48, 2年前 , 1F
應該是因為java和python負數取模的結果不太一樣
01/20 06:48, 1F
文章代碼(AID): #1ZoOhuOS (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ZoOhuOS (Marginalman)