1.问题描述:
给定一个旋转排序数组,在原地恢复其排序。(升序)
2.样例:
Example1:
[4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]
Example2:
[6,8,9,1,2] -> [1,2,6,8,9]
3.代码:
class Solution:"""@param nums: An integer array@return: nothing"""def recoverRotatedSortedArray(self, nums):# write your code here# nums.sort()for i in range(len(nums)-1):if nums[i] > nums[i+1]:for i in range(i+1, len(nums)):nums.insert(0, nums.pop())
注意:这里可以直接使用Python自带的sort()方式通过测试。另外,对于方法2,这里思路是先去遍历寻找被rotated的点,因为数组是部分有序的,找到rotated点之后,对之后的部分采用和之前第8题相同的思路,可以利用stack pop出元素,原地插入到数组的第一个位置。