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