国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 栾城县| 于都县| 成都市| 中山市| 平定县| 定兴县| 武川县| 新丰县| 于都县| 浦城县| 寿光市| 社旗县| 怀集县| 广州市| 成安县| 鄂伦春自治旗| 大姚县| 伊通| 彰化县| 晋城| 岑溪市| 浦江县| 丰原市| 互助| 阿鲁科尔沁旗| 加查县| 陇西县| 都江堰市| 松溪县| 绥棱县| 渝中区| 新巴尔虎右旗| 峨边| 六枝特区| 宜川县| 峡江县| 湘乡市| 垫江县| 南部县| 莱芜市| 福安市|