6 和 9 组成的最大数字

给你一个仅由数字 6 和 9 组成的正整数 num。

你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。

请返回你可以得到的最大数字。

示例 1

输入:num = 9669

输出:9969

解释:

改变第一位数字可以得到 6669 。

改变第二位数字可以得到 9969 。

改变第三位数字可以得到 9699 。

改变第四位数字可以得到 9666 。

其中最大的数字是 9969 。

示例 2

输入:num = 9996

输出:9999

解释:将最后一位从 6 变到 9,其结果 9999 是最大的数。

示例 3

输入:num = 9999

输出:9999

解释:无需改变就已经是最大的数字了。

提示:

1 <= num <= 10^4

num 每一位上的数字都是 6 或者 9

public static int maximum69Number (int num) {
    return Integer.valueOf(String.valueOf(num).replaceFirst("6","9"));
}

用数字来操作 ...

public static int maximum69Number1 (int num) {
    int k = num;
    int n = String.valueOf(num).length() -1;
    while(k > 0){
        if(k / (int)Math.pow(10,n) == 6){
            num += 3*Math.pow(10,n);
            break;
        }
        k = k % (int)Math.pow(10,n--);
    }
    return num;
}
文章作者: 已删除用户
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yida
Back-end LeetCode
喜欢就支持一下吧