# Solving Leetcode Interviews in Seconds with AI: Max Difference You Can Get From Changing an Integer


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "1432" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> You are given an integer num. You will apply the following steps exactly two times:  Pick a digit x (0 <= x <= 9). Pick another digit y (0 <= y <= 9). The digit y can be equal to x. Replace all the occurrences of x in the decimal representation of num by y. The new integer cannot have any leading zeros, also the new integer cannot be 0.  Let a and b be the results of applying the operations to num the first and second times, respectively. Return the max difference between a and b.   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    Constraints:  1 <= num <= 108  

	# Explanation
	*   **Maximize `a` and Minimize `b`:** To maximize the difference `a - b`, we need to find the largest possible value for `a` and the smallest possible value for `b` after performing the two replacement operations.
*   **Maximize by Replacing with 9:** For maximizing `a`, we replace the first digit we encounter with `9`, unless the number already starts with 9. If the first digit is not 9, we replace it with 9. Otherwise, we iterate through the digits to find a digit that is not 9.
*   **Minimize by Replacing with 0 or 1:** For minimizing `b`, if the first digit is 1, we want to find some other digit that is not 0 or 1 and replace it with 0. If the first digit is not 1, replace the first digit with 1.

*   **Runtime Complexity:** O(N), where N is the number of digits in `num`. **Storage Complexity:** O(N).

	
	# Code
	```python
	def maxDiff(num: int) -> int:
    s = str(num)
    n = len(s)

    def replace(s, x, y):
        new_s = s.replace(x, y)
        if new_s[0] == '0' and len(new_s) > 1:
            return -1
        return int(new_s) if new_s != "0" else -1
      
    a = num
    b = num

    # Maximize a
    for i in range(n):
        if s[i] != '9':
            temp_a = replace(s, s[i], '9')
            if temp_a != -1:
              a = temp_a
            break
    
    # Minimize b
    if s[0] != '1':
      temp_b = replace(s, s[0], '1')
      if temp_b != -1:
        b = temp_b

    else:
      for i in range(1, n):
        if s[i] != '0' and s[i] != '1':
          temp_b = replace(s, s[i], '0')
          if temp_b != -1:
            b = temp_b
          break
    

    return a - b
	```
			
