Re: [閒聊] 每日leetcode

作者: DJYOSHITAKA (Evans)   2024-06-08 20:59:02
523. Continuous Subarray Sum
紀錄prefix sum的餘數
若之前出現過相同餘數的prefix sum
代表這之間的subarray可以被k整除
不過實作起來細節也不少
像是要init mod_hit[0] = -1之類的
WA了幾次
漬漬漬
def checkSubarraySum(self, nums: List[int], k: int) -> bool:
mod_hit = {}
mod_hit[0] = -1
sum_cur = 0
for idx,i in enumerate(nums):
sum_cur += i
if (sum_cur%k) in mod_hit and (idx-mod_hit[sum_cur%k])>=2:
return True
elif (sum_cur%k) not in mod_hit:
mod_hit[sum_cur%k] = idx
return False
作者: NTUtriangle (國立臺灣大學聯盟)   2024-06-08 21:00:00
大師
作者: nh60211as   2024-06-08 21:02:00
大師
作者: DreaMaker167 (dreamaker)   2024-06-08 21:02:00
欸我機車行車紀錄器用小蜂鷹 嘎嘎頂
作者: sustainer123 (caster)   2024-06-08 21:05:00
用set()
作者: DJYOSHITAKA (Evans)   2024-06-08 21:13:00
小蜂鷹我研究看看但還是要記index位置吧 能用set嗎
作者: sustainer123 (caster)   2024-06-08 21:24:00
為啥要index?set的值不就前面前綴和的餘數我們不用知道是哪個區間的前綴和ㄅ?
作者: DJYOSHITAKA (Evans)   2024-06-08 21:30:00
但要知道這個區間長度有沒有>=2喔我知道你的寫法了 你就delay一個loop去記 也可以

Links booklink

Contact Us: admin [ a t ] ucptt.com