Re: [閒聊] LeetCode Weekly Contest 411

看板Marginalman作者 (dont)時間1年前 (2024/08/18 19:55), 編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串2/3 (看更多)
Q3 # 思路 0. 能塞9就塞暴 1. 基本的case k=1,3,9 -> 全塞9 -> 99..9 k=2 -> 末位數偶數, 8 + 9..9 + 8 k=4 -> 末2位可以4整除, 88 + 99..9 + 88 k=5 -> 末位數0或5, 5 + 99..9 + 5 k=8 -> 末3位數可以8整除, 888 + 99..9 + 888 2. k=6, 7 回文 n=7, a1 a2 a3 a4 a3 a2 a1 n=6, a1 a2 a3 a3 a2 a1 要讓數字最大化, 就改最中間的位數 k=6 末位數必須為偶數, 先塞 8 + 9999 + 8 再判斷n決定中間位數要怎麼改, n是偶數就改77, 奇數改8 e.g. 89898 897798 k=7 觀察 9, 99, 999, 9999, 99999, 999999, ... % 7 可以發現餘數有規律 2, 1, 5, 3, 4, 0, 2, ... 所以 n % 6 == 0時, 直接回傳999999 其他就改中間的位數 讓數字%7=0 大概是這樣 不過我k=7時直接改中間兩位數再int(''.join(s_list)) % 7判斷 有測資會RuntimeError 改完就超時了 哭 看討論有人直接改 sys.set_int_max_str_digits() 也太偷懶.. -- http://i.imgur.com/OLvBn3b.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 185.213.82.73 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1723982140.A.F99.html

08/18 20:20, 1年前 , 1F
mod7完全沒想法==
08/18 20:20, 1F
文章代碼(AID): #1cmU4y-P (Marginalman)
文章代碼(AID): #1cmU4y-P (Marginalman)