Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (史萊哲林的優等生)時間2年前 (2023/10/06 11:29), 2年前編輯推噓2(202)
留言4則, 4人參與, 2年前最新討論串437/719 (看更多)
343. Integer Break 把整數拆成相加的數字 取這些數字最大乘積 思路: 這題是數學題 不是程式題== 數字4拆成 2+2 積最大為 4 數字5拆成 3+2 積最大為 6 數字6拆成 3+3 積最大為 9 數字7拆為 3+4 積最大為 12 數字8拆為 3+3+2 積最大為 18 數字9拆為 3+3+3 積最大為 27 數字10拆為 3+3+4 積最大為 36 找規律可以得知拆成一堆3最大 並且3*3*4也比3*3*3*1大 因此n % 3 = 1要特別處理 Code: impl Solution { pub fn integer_break(n: i32) -> i32 { match n { 2 => return 1, 3 => return 2, _ => {} } let result = match n % 3 { 1 => 3i32.pow((n / 3 - 1) as u32) * 4, 2 => 3i32.pow((n / 3) as u32) * 2, _ => 3i32.pow((n / 3) as u32), }; result } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.172 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1696562979.A.C55.html ※ 編輯: yam276 (60.248.143.172 臺灣), 10/06/2023 11:30:04

10/06 11:30, 2年前 , 1F
大師
10/06 11:30, 1F

10/06 12:01, 2年前 , 2F
大師
10/06 12:01, 2F

10/06 12:45, 2年前 , 3F
大師
10/06 12:45, 3F

10/06 15:26, 2年前 , 4F
大師
10/06 15:26, 4F
文章代碼(AID): #1b7tyZnL (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1b7tyZnL (Marginalman)