LeetCode(二) 旋轉陣列

2022-01-24 10:30:51 字數 910 閱讀 8459

給定乙個陣列,將陣列中的元素向右移動 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,-100,3]

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

說明:

class

solution

else

if(k ==nums.length)

int temp = new

int[nums.length];

system.arraycopy(nums, nums.length-k, temp, 0, k);

system.arraycopy(nums, 0, temp, k, nums.length-k);

system.arraycopy(temp, 0, nums, 0, nums.length);

}}

解決思路:

將陣列最後k個元素逐個往陣列最前面排,然後剩下的陣列.length-k個元素依次往後退。 知識點:使用system.arraycopy(arr1,num,arr2,num2,length);將陣列arr1從第num個元素開始複製length個元素到arr2陣列中從下標num2開始

LeetCode 旋轉陣列

將包含n 個元素的陣列向右旋轉 k 步。例如,如果 n 7 k 3,給定陣列 1,2,3,4,5,6,7 向右旋轉後的結果為 5,6,7,1,2,3,4 注意 盡可能找到更多的解決方案,這裡最少有三種不同的方法解決這個問題。要求空間複雜度為 o 1 關聯的問題 反轉字串中的單詞 ii public ...

LeetCode 旋轉陣列

給定乙個陣列,將陣列中的元素向右移動 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...

leetcode 旋轉陣列

給定乙個陣列,將陣列中的元素向右移動 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,...