笨拙排序题解

考虑一个问题,如果a[1]=x,至少需要操作几次?
如果a[1]=x的话,那么1到x-1都在a[1]后面,假设x+1到n在a[1]后面递增排列,抽出1到x-1之后x+1到n已经自然排好序了,所以当a[1]=x时至少需要x-1次操作。
当然以上结论有一个前提,是x+1到n递增排列,我们反过来想,找到某个y,使得y到n已经成递增排列,那么所需要的操作次数至多就是y-1次。
找到这个最小的y即可。
复杂度O(n)

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 11:33
点赞 评论 收藏
分享
测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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