[Lintcode]Recover Rotated Sorted Array Show result
来源:互联网 发布:怎么给mac文件夹加密 编辑:程序博客网 时间:2024/06/16 17:56
Given a rotated sorted array, recover it to sorted array in-place.
Example
[4, 5, 1, 2, 3]
-> [1, 2, 3, 4, 5]
Challenge
找到数组的旋转点,旋转点左侧倒序排列,右侧同样倒序排列,最后整个数组再倒序排列。In-place, O(1) extra space and O(n) time.
[4,5, 1, 2, 3]
-> [5, 4, 3, 2, 1]
-> [1, 2, 3, 4, 5]
public class Solution { /** * @param nums: The rotated sorted array * @return: void */ public void recoverRotatedSortedArray(ArrayList<Integer> nums) { for(int i = 0; i < nums.size() - 1; i++) { if(nums.get(i) > nums.get(i + 1)) { reverse(nums, 0, i); reverse(nums, i + 1, nums.size() - 1); reverse(nums, 0, nums.size() - 1); return; } } } private void reverse(ArrayList<Integer> nums, int start, int end) { while(start < end) { int tmp = nums.get(start); nums.set(start, nums.get(end)); nums.set(end, tmp); start ++; end --; } }}
0 0
- [Lintcode]Recover Rotated Sorted Array Show result
- lintcode:Recover Rotated Sorted Array
- lintcode Recover Rotated Sorted Array
- Recover Rotated Sorted Array
- recover-rotated-sorted-array
- Recover Rotated Sorted Array
- Recover Rotated Sorted Array
- Recover Rotated Sorted Array
- Recover Rotated Sorted Array
- 【LintCode】Recover Rotated Sorted Array 恢复旋转排序数组
- [刷题]Recover Rotated Sorted Array
- #39 Recover Rotated Sorted Array
- lintcode:Find Minimum in Rotated Sorted Array
- [Lintcode]Find Minimum in Rotated Sorted Array
- LintCode - Remove Duplicates from Sorted List II Show result
- Recover Rotated Array
- [LintCode] 搜索旋转排序数组 Search in Rotated Sorted Array
- [Lintcode]Find Minimum in Rotated Sorted Array II
- 容器的随机数生成器(模板)
- java内部类面试题接口编程题
- ApplyPay简单测试(二)
- BP神经网络的非线性曲线拟合和预测(未完)
- 进程调度
- [Lintcode]Recover Rotated Sorted Array Show result
- 彻底解决Fragment重复加载问题,杜绝一切卡顿现象
- 不同的DP方程不同的效率(2845)
- suid seuid 当前用户ID 有效用户ID
- 每日一练——2016.2.24
- UI美化概述
- 高僧斗法--Staircase Nim
- [maya学习笔记(11)] 结合分离提取 布尔运算
- hdu 2955 Robberies