| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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
- }
|