温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Lintcode39 Recover Rotated Sorted Array solution 题解

发布时间:2020-07-30 18:10:14 来源:网络 阅读:430 作者:abcdd1234567890 栏目:开发技术

【题目描述】

Given a rotated sorted array, recover it to sorted array in-place.

给定一个旋转排序数组,在原地恢复其排序。

【题目链接】

http://www.lintcode.com/en/problem/recover-rotated-sorted-array/

【题目解析】

首先可以想到逐步移位,但是这种方法显然太浪费时间,不可取。下面介绍利器『三步翻转法』,以[4, 5, 1, 2, 3]为例。

首先找到分割点5和1

翻转前半部分4, 5为5, 4,后半部分1, 2, 3翻转为3, 2, 1。整个数组目前变为[5, 4, 3, 2, 1]

最后整体翻转即可得[1, 2, 3, 4, 5]

由以上3个步骤可知其核心为『翻转』的in-place实现。使用两个指针,一个指头,一个指尾,使用for循环移位交换即可。

【参考答案】

http://www.jiuzhang.com/solutions/recover-rotated-sorted-array/


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI