Re: [閒聊] 每日leetcode

看板 Marginalman
作者 JIWP (神楽めあ的錢包)
時間 2024-05-21 23:39:10
留言 0則留言

: 再隨便挑一題來寫 : 3152. Special Array II : 給你一個array 還有一堆query: q[i] = [s_i, e_i] : 每個query要回傳arr[s_i:e_i+1]是不是"special array" : special的定義是 每個相鄰pair不可同時為奇數或偶數 : 簡單來說就是要 奇偶相間 幹幹幹 ptt star好卡 思路: 用prefix array來記錄到目前有幾個奇偶pair 接著就去看每個query區間的奇偶pair是不是=query[i][1]-query[i][0] golang code: func isArraySpecial(nums []int, queries [][]int) []bool { n := len(nums) max := n - 1 parity := nums[n-1] & 1 nums[n-1] = max for i := len(nums) - 2; i >= 0; i-- { curr := nums[i] & 1 if curr == parity { max = i } nums[i] = max parity = curr } result := make([]bool, len(queries)) for i, q := range queries { result[i] = nums[q[0]] >= q[1] } return result } -- https://i.imgur.com/r9FBAGO.gif
--
※ 批踢踢實業坊(ptt.cc), 來自: 223.141.98.100 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1716305955.A.2C7.html

您可能感興趣