Re: [閒聊] 每日leetcode

看板Marginalman作者 (神楽めあ的煙灰缸)時間3天前 (2026/01/04 23:28), 編輯推噓1(100)
留言1則, 1人參與, 3天前最新討論串1560/1561 (看更多)
昨天的 1411. Number of Ways to Paint N × 3 Grid 觀察n=1, 可以發現總共有12種組合 然後這12種組合又可以分成2種形式 1. ABA : 綠紅綠、紅綠紅...這種 2. ABC : 綠紅黃、黃綠紅...這種 這兩種形式都出現6次 假設這一行是紅綠黃, 那它的上一行可以是 : 綠紅綠、綠黃綠、黃紅綠、綠黃紅 如果是紅綠紅 那可以是 : 黃紅黃、綠紅綠、綠黃綠、黃紅綠、綠紅黃 也就是說 1. ABA可以從3種ABA、2種ABC來 2. ABC可以從2種ABA、2種ABC來 找到規律就直接DP就好 golang code : func numOfWays(n int) int { mod := 1_000_000_007 prevABA, prevABC := 6, 6 curABA, curABC := 0, 0 for i := 1; i < n; i++ { curABA = (prevABA*3 + prevABC*2) % mod curABC = (prevABA*2 + prevABC*2) % mod prevABA, prevABC = curABA, curABC curABA, curABC = 0, 0 } return (prevABA + prevABC) % mod } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.121.235.241 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1767540510.A.4D3.html

01/04 23:31, 3天前 , 1F
大師
01/04 23:31, 1F
文章代碼(AID): #1fMeSUJJ (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1fMeSUJJ (Marginalman)