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