看板 Marginalman 關於我們 聯絡資訊
再隨便挑一題來寫 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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.225.89 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1716300074.A.623.html ※ 編輯: DJYOSHITAKA (114.137.225.89 臺灣), 05/21/2024 22:02:03
RinNoKareshi: 大師 05/21 22:03
orangeNoob: 大師 05/21 22:05
JIWP: 別卷了 05/21 22:05
argorok: 別捲了 05/21 22:06
steven183: 別卷了 05/21 22:06
aioiwer318: 別卷了 05/21 22:10
rainkaras: 大師 05/21 22:35
sixB: 你才是最特別的 05/21 22:59