Dashboard Temp Share Shortlinks Frames API

HTMLify

LeetCode - Max Difference You Can Get From Changing an Integer - Python
Views: 2 | Author: abh
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# @leet start
class Solution:
    def getDiff(self, n1: int, n2: int):
        if n1 < n2:
            return n2 - n1
        return n1 - n2

    def convertSmallest(self, num: int) -> int:
        smallest = num
        for x in range(10):
            for y in range(10):
                n = str(num).replace(str(x), str(y))
                if n[0] == "0":
                    continue
                n = int(n)
                if not n:
                    continue
                if n < smallest:
                    smallest = n
        return smallest
    
    def convertLargest(self, num: int) -> int:
        largest = num
        for x in range(10):
            for y in range(10):
                n = str(num).replace(str(x), str(y))
                if n[0] == "0":
                    continue
                n = int(n)
                if n > largest:
                    largest = n
        return largest

    def maxDiff(self, num: int) -> int:
        smallest = self.convertSmallest(num)
        largest = self.convertLargest(num)
        diff = self.getDiff(smallest, largest)
        return diff
# @leet end