Re: [閒聊] 每日leetcode

看板Marginalman作者 (神楽めあ的錢包)時間4月前 (2025/07/29 23:20), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1480/1548 (看更多)
2411. Smallest Subarrays With Maximum Bitwise OR 思路 : 一開始就硬幹 從前面開始sliding window 後來想一下不對 根據題目, 從後面來應該比較快 就用一個arr紀錄每一個bit各自出現的最小index 然後再去找所有bit出現的最大index, 就知道要到哪個位置才能湊齊max bitwise or了 golang code : func smallestSubarrays(nums []int) []int { n := len(nums) pos := make([]int, 32) ans, end := make([]int, n), 0 for i := 0; i < 32; i++ { pos[i] = -1 } for i := n - 1; i > -1; i-- { end = i for j := 0; j < 32; j++ { if nums[i]&(1<<j) == 0 { if pos[j] != -1 { end = max(end, pos[j]) } } else { pos[j] = i } } ans[i] = end - i + 1 } return ans } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.121.235.241 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1753802445.A.959.html
文章代碼(AID): #1eYERDbP (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1eYERDbP (Marginalman)