精華區beta Marginalman 關於我們 聯絡資訊
2566. Maximum Difference by Remapping a Digit https://leetcode.com/problems/maximum-difference-by-remapping-a-digit 給定一個整數, Danny可以將整數中出現的其中一種數字換成0到9的其中一種數字, 所有相同的數字都會被改變, 但也可以選擇不改變任何數字, 返回最大可能值與最小可能值之差 思路: 最大可能值一定是將首位數改成9, 如果首位數已經是9, 則往低位數檢查, 直到碰到不是9的數字時就把它改成9, 如果全是9則不修改 最小可能值則必定是將首位數改成0, 利用Python的replace函數可以輕易地修改字串中的特定字符 -- Python Code: class Solution: def minMaxDifference(self, num: int) -> int: s = str(num) for c in s: if c != '9': mx = int(s.replace(c, '9')) break else: mx = num mn = int(s.replace(s[0], '0')) return mx - mn -- https://i.imgur.com/AhNjoAu.jpeg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.155.52 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1749908571.A.521.html