




Sponsored
Sponsored
This approach uses a simple greedy algorithm to find the first occurrence of the digit '6' and replaces it with '9'. This ensures that the number is maximized by making a change that increases the most significant portion of the number.
Time Complexity: O(n), where n is the number of digits in num.
Space Complexity: O(n) for storing the string representation of num.
1function maximum69Number(num) {
2    let numStr = num.toString();
3    for (let i = 0; i < numStr.length; i++) {
4        if (numStr[i] === '6') {
5            numStr = numStr.substring(0, i) + '9' + numStr.substring(i + 1);
6            break;
7        }
8    }
9    return parseInt(numStr);
10}
11
12// Example Usage
13console.log(maximum69Number(9669));JavaScript approach casts the number to a string and checks each digit, updating the first '6' found to '9'. After modification, the string is converted back to a number for the result.
This approach works directly with the number without converting it to a string. We find the first '6' from the leftmost side by using basic mathematical operations (division and modulo). We can calculate the position and change the digit using arithmetic transformations to make this efficient.
Time Complexity: O(1), as we have at most 4 digits to check.
Space Complexity: O(1), using constant space for computations.
1
This Java code processes the digits of the number by directly calculating each decimal place. It shifts the first '6' found to '9' by adding 3 times the power of 10 matching the '6'.