Re: [闲聊] 每日leetcode

楼主: DJYOSHITAKA (Evans)   2024-05-21 22:01:11
再随便挑一题来写
3152. Special Array II
给你一个array 还有一堆query: q[i] = [s_i, e_i]
每个query要回传arr[s_i:e_i+1]是不是"special array"
special的定义是 每个相邻pair不可同时为奇数或偶数
简单来说就是要 奇偶相间
init一个array 第i个element是 其往左找"连续奇偶相间数列"的开始点
其实就是for loop下去 遇到相邻都是奇数or相邻都是偶数的pair就更新start_i
如果持续奇偶相间的话就不更新start_i这样
最后就单纯一个if就有答案了
def isArraySpecial(self, nums: List[int], queries: List[List[int]]) ->
List[bool]:
mem = [-1 for _ in range(len(nums))]
start_i = 0
pre = -1
for i,k in enumerate(nums):
if k%2 == pre:
start_i = i
else:
pre = k%2
mem[i] = start_i
ans = [ mem[q[1]] <= mem[q[0]] for q in queries ]
return ans
作者: RinNoKareshi (立石凛的男友)   2024-05-21 22:03:00
大师
作者: orangeNoob (橘子色的肥肥)   2024-05-21 22:05:00
大师
作者: JIWP (JIWP)   2024-05-21 22:05:00
别卷了
作者: argorok (s.green)   2024-05-21 22:06:00
别卷了
作者: steven183 (steven183183)   2024-05-21 22:06:00
别卷了
作者: aioiwer318 (哀欧)   2024-05-21 22:10:00
别卷了
作者: rainkaras (rainkaras)   2024-05-21 22:35:00
大师
作者: sixB (6B)   2024-05-21 22:59:00
你才是最特别的

Links booklink

Contact Us: admin [ a t ] ucptt.com