1432. Max Difference You Can Get From Changing an Integer

You are given an integer num. You will apply the following steps to num two separate times:

Let a and b be the two results from applying the operation to num independently.

Return the max difference between a and b.

Note that neither a nor b may have any leading zeros, and must not be 0.

Example 1:

Input: num = 555
Output: 888
Explanation: The first time pick x = 5 and y = 9 and store the new integer in a.
The second time pick x = 5 and y = 1 and store the new integer in b.
We have now a = 999 and b = 111 and max difference = 888

Example 2:

Input: num = 9
Output: 8
Explanation: The first time pick x = 9 and y = 9 and store the new integer in a.
The second time pick x = 9 and y = 1 and store the new integer in b.
We have now a = 9 and b = 1 and max difference = 8

def maxDiff(self, num: int) -> int:
	str_num = str(num)

	for ch in str_num:
		if ch != '9':
			max_str = str_num.replace(ch, '9')
			break
	else:
		max_str = str_num

	if str_num[0] != '1':
		min_str = str_num.replace(str_num[0], '1')
	else:
		found = False
		for ch in str_num[1:]:
			if ch != '0' and ch != '1':
				min_str = str_num.replace(ch, '0')
				found = True
				break
		if not found:
			min_str = str_num

	return int(max_str) - int(min_str)