File tree Expand file tree Collapse file tree 2 files changed +59
-0
lines changed
1529-max-difference-you-can-get-from-changing-an-integer Expand file tree Collapse file tree 2 files changed +59
-0
lines changed Original file line number Diff line number Diff line change 1+ <p >You are given an integer <code >num</code >. You will apply the following steps to <code >num</code > <strong >two</strong > separate times:</p >
2+
3+ <ul >
4+ <li>Pick a digit <code>x (0 <= x <= 9)</code>.</li>
5+ <li>Pick another digit <code>y (0 <= y <= 9)</code>. Note <code>y</code> can be equal to <code>x</code>.</li>
6+ <li>Replace all the occurrences of <code>x</code> in the decimal representation of <code>num</code> by <code>y</code>.</li>
7+ </ul >
8+
9+ <p >Let <code >a</code > and <code >b</code > be the two results from applying the operation to <code >num</code > <em >independently</em >.</p >
10+
11+ <p >Return <em >the max difference</em > between <code >a</code > and <code >b</code >.</p >
12+
13+ <p >Note that neither <code >a</code > nor <code >b</code > may have any leading zeros, and <strong >must not</strong > be 0.</p >
14+
15+ <p >  ; </p >
16+ <p ><strong class =" example " >Example 1:</strong ></p >
17+
18+ <pre >
19+ <strong >Input:</strong > num = 555
20+ <strong >Output:</strong > 888
21+ <strong >Explanation:</strong > The first time pick x = 5 and y = 9 and store the new integer in a.
22+ The second time pick x = 5 and y = 1 and store the new integer in b.
23+ We have now a = 999 and b = 111 and max difference = 888
24+ </pre >
25+
26+ <p ><strong class =" example " >Example 2:</strong ></p >
27+
28+ <pre >
29+ <strong >Input:</strong > num = 9
30+ <strong >Output:</strong > 8
31+ <strong >Explanation:</strong > The first time pick x = 9 and y = 9 and store the new integer in a.
32+ The second time pick x = 9 and y = 1 and store the new integer in b.
33+ We have now a = 9 and b = 1 and max difference = 8
34+ </pre >
35+
36+ <p >  ; </p >
37+ <p ><strong >Constraints:</strong ></p >
38+
39+ <ul >
40+ <li><code>1 <= num <= 10<sup>8</sup></code></li>
41+ </ul >
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def maxDiff (self , num : int ) -> int :
3+
4+ def swap (x ,y ):
5+ return str (num ).replace (str (x ), str (y )) # change all x to y in num.
6+
7+ mi = ma = num
8+
9+ for x in range (10 ):
10+ for y in range (10 ):
11+ res = swap (x ,y ) # this is a string!
12+
13+ # leading zeros check
14+ if res [0 ] != "0" :
15+ mi = min (mi , int (res ))
16+ ma = max (ma , int (res ))
17+
18+ return ma - mi
You can’t perform that action at this time.
0 commit comments