Re: [閒聊] 每日leetcode

看板Marginalman作者 (caster )時間1年前 (2024/09/05 09:22), 編輯推噓1(101)
留言2則, 2人參與, 1年前最新討論串812/1548 (看更多)
※ 引述《DJYOMIYAHINA (通通打死)》之銘言: : 有一大坨比我快十倍的不知道怎麼用的== : 但我看答案都差不多ㄚ : 還是有改測資 : def missingRolls(self, rolls: List[int], mean: int, n: int) -> List[int]: : m = len(rolls) : summation = mean*(n+m) : sum_n = summation - sum(rolls) : if sum_n<n or sum_n>6*n: : return [] : res = sum_n-(sum_n//n)*n : ans = [(sum_n//n)+1] * res + [(sum_n//n)] * (n-res) : return ans 思路: 先求(n+m)總和跟m總和的差值 然後 求n的平均 餘數後面慢慢加上去 另外 裡面的元素限定1-6 所以就加個if判斷 Python Code: class Solution: def missingRolls(self, rolls: List[int], mean: int, n: int) -> List[int]: diff = mean * (len(rolls) + n) - sum(rolls) diff_avg = diff // n space = (6 - diff_avg) * n remainder = diff % n result = [] if diff < n or diff > 6 * n or remainder > space: return result for _ in range(n): if remainder > 6 - diff_avg: remainder -= 6 - diff_avg result.append(6) else: result.append(diff_avg + remainder) remainder = 0 return result 寫得狗幹醜 我就這樣了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.160.111 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1725499333.A.B6F.html

09/05 09:22, 1年前 , 1F
卷三小,肏
09/05 09:22, 1F

09/05 09:51, 1年前 , 2F
你卷死我了
09/05 09:51, 2F
文章代碼(AID): #1csGV5jl (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1csGV5jl (Marginalman)