All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1301_1400.s1323_maximum_69_number.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g1301_1400.s1323_maximum_69_number;

// #Easy #Math #Greedy #2022_03_19_Time_3_ms_(32.03%)_Space_39.5_MB_(67.69%)

import java.util.stream.IntStream;

/**
 * 1323 - Maximum 69 Number\.
 *
 * Easy
 *
 * You are given a positive integer `num` consisting only of digits `6` and `9`.
 *
 * Return _the maximum number you can get by changing **at most** one digit (_`6` _becomes_ `9`_, and_ `9` _becomes_ `6`_)_.
 *
 * **Example 1:**
 *
 * **Input:** num = 9669
 *
 * **Output:** 9969
 *
 * **Explanation:** 
 *
 * Changing the first digit results in 6669. 
 *
 * Changing the second digit results in 9969. 
 *
 * Changing the third digit results in 9699.
 *
 * Changing the fourth digit results in 9666. 
 *
 * The maximum number is 9969.
 *
 * **Example 2:**
 *
 * **Input:** num = 9996
 *
 * **Output:** 9999
 *
 * **Explanation:** Changing the last digit 6 to 9 results in the maximum number.
 *
 * **Example 3:**
 *
 * **Input:** num = 9999
 *
 * **Output:** 9999
 *
 * **Explanation:** It is better not to apply any change.
 *
 * **Constraints:**
 *
 * *   1 <= num <= 104
 * *   `num` consists of only `6` and `9` digits.
**/
public class Solution {
    public int maximum69Number(int num) {
        char[] chars = Integer.toString(num).toCharArray();
        IntStream.range(0, chars.length)
                .filter(i -> chars[i] == '6')
                .findFirst()
                .ifPresent(i -> chars[i] = '9');
        return Integer.parseInt(new String(chars));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy