Re: [閒聊] 每日leetcode
3152. Special Array II
去用prefix_sum紀錄有幾組奇偶對數
如果nums[i]跟nums[i-1]奇偶性不同
那prefix_sum[i]=prefix_sum[i-1]+1
ex [1,2,3,4,5,6]
prefix_sum=[0,1,2,3,4,5]
接著就去看每組queries內有沒有足夠的奇偶對數
假設from=1、to=4
那這樣要有3組奇偶對才會是true
golang code :
func isArraySpecial(nums []int, queries [][]int) []bool {
n:=len(queries)
res:=make([]bool,n)
prefix:=make([]int,len(nums))
for i:=1;i<len(nums);i++{
if (nums[i]+nums[i-1]) & 1==1{
prefix[i]=1
}
prefix[i]+=prefix[i-1]
}
for key,val:=range queries{
tmp:=val[1]-val[0]
if prefix[val[1]]-prefix[val[0]]==tmp{
res[key]=true
}
}
return res
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.212.180 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1733751350.A.1F7.html
推
12/09 21:37,
1年前
, 1F
12/09 21:37, 1F
推
12/09 21:45,
1年前
, 2F
12/09 21:45, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1189 之 1550 篇):