練習題30 旋轉陣列

2021-10-07 14:25:06 字數 865 閱讀 4329

原題目:

給定乙個陣列,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。

示例 1:

輸入: [1,2,3,4,5,6,7] 和 k = 3

輸出: [5,6,7,1,2,3,4]

解釋:向右旋轉 1 步: [7,1,2,3,4,5,6]

向右旋轉 2 步: [6,7,1,2,3,4,5]

向右旋轉 3 步: [5,6,7,1,2,3,4]

示例 2:

輸入: [-1,-100,3,99] 和 k = 2

輸出: [3,99,-1,-100]

解釋:向右旋轉 1 步: [99,-1,-1新增鏈結描述00,3]

向右旋轉 2 步: [3,99,-1,-100]

思路:用reverse函式進行陣列元素的翻轉,reverse函式主要的功能是將陣列元素在指定的範圍從後往前進行翻轉,具體可以參考

c++ reverse函式的用法

之前的思路是用insert函式和pop函式組合進行翻轉,但是執行時間超時,所以不能使用這個方法,關於insert函式和pop函式的使用可以參考

vector insert用法 c++

pop函式的使用

**(之前想的)

class

solution}}

;

**2

class

solution

};

上面**的執行邏輯:

如1,2,3,4,5,6,7

第一步4,3,2,1,5,6,7

第二步4,3,2,1,7,6,5

第三步5,6,7,1,2,3,4

練習題29-刪除重複元素

陣列練習題

2 隨機生成乙個五位以內的數,然後輸出該數共有多少位,每位分別是什麼 3 開發乙個標題為 flipflop 的遊戲應用程式。它從1計數到100,遇到3的倍數就替換為單詞 flip 5的倍數就替換為單詞 flop 既為3的倍數又為5的倍數則替換為單詞 flipflop 5 生成13位條形碼 ean 1...

LC練習 旋轉陣列

每次旋轉一步,重複k次。可行,但是速度太慢了。class solution def rotate self,nums list int k int none do not return anything,modify nums in place instead.length len nums for...

兩串旋轉練習題

如果對於乙個字串a,將a的前面任意一部分挪到後邊去形成的字串稱為a的旋轉詞。比如a 12345 a的旋轉詞有 12345 23451 34512 45123 和 51234 對於兩個字串a和b,請判斷a和b是否互為旋轉詞。給定兩個字串a和b及他們的長度lena,lenb,請返回乙個bool值,代表他...