-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMaximum69Number.java
More file actions
54 lines (53 loc) · 1.38 KB
/
Maximum69Number.java
File metadata and controls
54 lines (53 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package other;
/**
* @Author: Wenhang Chen
* @Description:给你一个仅由数字 6 和 9 组成的正整数 num。
* <p>
* 你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。
* <p>
* 请返回你可以得到的最大数字。
* <p>
*
* <p>
* 示例 1:
* <p>
* 输入:num = 9669
* 输出:9969
* 解释:
* 改变第一位数字可以得到 6669 。
* 改变第二位数字可以得到 9969 。
* 改变第三位数字可以得到 9699 。
* 改变第四位数字可以得到 9666 。
* 其中最大的数字是 9969 。
* 示例 2:
* <p>
* 输入:num = 9996
* 输出:9999
* 解释:将最后一位从 6 变到 9,其结果 9999 是最大的数。
* 示例 3:
* <p>
* 输入:num = 9999
* 输出:9999
* 解释:无需改变就已经是最大的数字了。
*
* <p>
* 提示:
* <p>
* 1 <= num <= 10^4
* num 每一位上的数字都是 6 或者 9 。
* @Date: Created in 14:01 2/11/2020
* @Modified by:
*/
public class Maximum69Number {
public int maximum69Number(int num) {
StringBuilder sb = new StringBuilder(String.valueOf(num));
// 找到第一个6替换为9即可
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '6') {
sb.setCharAt(i, '9');
break;
}
}
return Integer.parseInt(sb.toString());
}
}