国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Lintcode: Recover Rotated Sorted Array

2019-11-14 23:35:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Lintcode: Recover Rotated Sorted Array
Given a rotated sorted array, recover it to sorted array in-place.Example[4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]ChallengeIn-place, O(1) extra space and O(n) time.ClarificationWhat is rotated array:    - For example, the orginal array is [1,2,3,4], The rotated array of it can be [1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]

我的做法是先掃描不是ascending order的兩個(gè)點(diǎn),然后reverse array三次,分別是(0, i), (i+1, num.length-1), (0, num.length-1)

 1 public class Solution { 2     /** 3      * @param nums: The rotated sorted array 4      * @return: The recovered sorted array 5      */ 6     public void recoverRotatedSortedArray(ArrayList<Integer> nums) { 7         // write your code 8         if (nums==null || nums.size()==0 || nums.size()==1) return; 9         int i = 0;10         for (i=0; i<nums.size()-1; i++) {11             if (nums.get(i) > nums.get(i+1)) break;12         }13         if (i == nums.size()-1) return;14         reverse(nums, 0, i);15         reverse(nums, i+1, nums.size()-1);16         reverse(nums, 0, nums.size()-1);17     }18     19     public void reverse(ArrayList<Integer> nums, int l, int r) {20         while (l < r) {21             int temp = nums.get(l);22             nums.set(l, nums.get(r));23             nums.set(r, temp);24             l++;25             r--;26         }27     }28 }


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂宁市| 长宁县| 旬阳县| 西藏| 神农架林区| 扎兰屯市| 准格尔旗| 即墨市| 青阳县| 天柱县| 开原市| 泾川县| 武城县| 云梦县| 广灵县| 延寿县| 定兴县| 迁安市| 宣恩县| 齐齐哈尔市| 宜昌市| 道真| 衡阳县| 宁明县| 屏东市| 忻城县| 壤塘县| 贡山| 甘孜县| 鹿邑县| 长垣县| 义马市| 五寨县| 泸水县| 扬州市| 高安市| 涟水县| 漳平市| 双辽市| 富顺县| 武功县|