2566: Maximum-Difference-by-Remapping-a-Digit
Easy
table of contents
My solution just involved transforming num
into a
string twice:
- once for the
maxNum
- once for the
minNum
and then I just determine what number I should be swapping
while iterating through the digits before swapping out
the respective digits with 9
(for maxNum
) and
0
(for minNum
).
Finally, I can just return the difference between maxNum
and minNum
.
code
class Solution {
public:
int minMaxDifference(int num) {
= to_string(num);
string maxNum = to_string(num);
string minNum char numToChangeForMax = 'a';
char numToChangeForMin = minNum[0];
int i = 0;
for (; i < maxNum.size() && numToChangeForMax == 'a'; ++i) {
if (maxNum[i] != '9') {
= maxNum[i];
numToChangeForMax [i] = '9';
maxNum}
if (minNum[i] == numToChangeForMin) {
[i] = '0';
minNum}
}
for (; i < maxNum.size(); ++i) {
if (maxNum[i] == numToChangeForMax) {
[i] = '9';
maxNum}
if (minNum[i] == numToChangeForMin) {
[i] = '0';
minNum}
}
return stoi(maxNum) - stoi(minNum);
}
};