题解 | 交换到最大

交换到最大

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

全部评论

相关推荐

03-04 07:14
门头沟学院 C++
黑皮白袜臭脚体育生:老板:都给工作机会了还想要工资,哪来这么多好事
点赞 评论 收藏
分享
FightingNa...:小厂不喜欢离毕业还远的。培养你三个月小半年,你又回去上学,你丰富简历爽歪歪,小厂啥也得不到。大厂兴许愿意培养你,可以试试大厂,准备下不黑了就行。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务