题解 | 交换到最大
交换到最大
https://www.nowcoder.com/practice/73fd35bbfaa5483d8aa8b03cd27887a8
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
buf := bufio.NewReader(os.Stdin)
var n int
fmt.Fscan(buf,&n)
var s string
for i:=0;i<n;i++{
fmt.Fscan(buf,&s)
lenth := len(s)
arr := []byte(s)
for i:=0;i<lenth;i++{
max := int(arr[i]-'0')
maxi := i
for j:=i+1;j<lenth&& j <= i+9;j++{
mov := int(arr[j]-'0')-(j-i)
if max < mov {
max = mov
maxi = j
}
}
for k:=maxi;k>i;k--{
arr[k] = arr[k-1]
}
arr[i] = byte(max+'0')
}
fmt.Println(string(arr))
}
}

查看14道真题和解析