mirror of
https://git.wolves.top/wolves/leetcode.git
synced 2025-11-04 17:26:32 +08:00
39 lines
612 B
Go
39 lines
612 B
Go
package main
|
|
|
|
import (
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func maxDiff(num int) int {
|
|
replace := func(s string, x, y rune) string {
|
|
return strings.ReplaceAll(s, string(x), string(y))
|
|
}
|
|
|
|
num_max := strconv.Itoa(num)
|
|
num_min := num_max
|
|
|
|
for _, c := range num_max {
|
|
if c != '9' {
|
|
num_max = replace(num_max, c, '9')
|
|
break
|
|
}
|
|
}
|
|
|
|
for i, c := range num_min {
|
|
if i == 0 && c != '1' {
|
|
num_min = replace(num_min, c, '1')
|
|
break
|
|
}
|
|
if c != '0' && c != rune(num_min[0]) {
|
|
num_min = replace(num_min, c, '0')
|
|
break
|
|
}
|
|
}
|
|
|
|
x, _ := strconv.Atoi(num_max)
|
|
y, _ := strconv.Atoi(num_min)
|
|
|
|
return x - y
|
|
}
|