LintCode 39(恢復旋轉排序陣列)

2021-09-10 23:22:33 字數 427 閱讀 1926

lintcode系列,第39題,題目**:

給定乙個旋轉排序陣列,在原地恢復其排序。

說明

什麼是旋轉陣列?

樣例:

樣例1:

[4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]

樣例2:

[6,8,9,1,2] -> [1,2,6,8,9]

找到第乙個大於後繼元素的數,以這個數為界,前半部分做一次逆序,後半部分做一次逆序,最後整個陣列再做一次逆序。

class solution 

}void

recoverrotatedsortedarray

(vector<

int>

&nums)}}

};

LintCode 39 恢復旋轉排序陣列

給定乙個旋轉排序陣列,在原地恢復其排序。什麼是旋轉陣列?比如,原始陣列為 1,2,3,4 則其旋轉陣列可以是 1,2,3,4 2,3,4,1 3,4,1,2 4,1,2,3 4,5,1,2,3 1,2,3,4,5 使用o 1 的額外空間和o n 時間複雜度 迴圈將頭部放到後面,知道遇到比下乙個值比當...

39 恢復旋轉排序陣列

給定乙個 旋轉排序陣列,在原地恢復其排序。說明什麼是旋轉陣列?樣例 4,5,1,2,3 1,2,3,4,5 1 我的剛開始的解法 比較複雜 class solution 如果i等於陣列長減一,證明沒有旋轉 if i nums.size 1 int j 實現 4,5,1,2,3 4,5,1,2,3,4...

39 恢復旋轉排序陣列

39.恢復旋轉排序陣列 給定乙個旋轉排序陣列,在原地恢復其排序。樣例 4,5,1,2,3 1,2,3,4,5 挑戰使用o 1 的額外空間和o n 時間複雜度 說明什麼是旋轉陣列?比如,原始陣列為 1,2,3,4 則其旋轉陣列可以是 1,2,3,4 2,3,4,1 3,4,1,2 4,1,2,3 方法...