(LeetCode)旋轉陣列
原體描述如下:
Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7]
is
rotated to [5,6,7,1,2,3,4]
.
Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.
Could you do it in-place with O(1) extra space? 我的解答如下:
public class Solution { public void rotate(int[] nums, int k) { if(nums==null||k==0) { return; } k = k%nums.length; reverse(nums,0,nums.length-1); reverse(nums,0,k-1); reverse(nums,k,nums.length-1); } public void reverse(int[] a ,int start, int end) { while(start<end) { int temp = a[start]; a[start] = a[end]; a[end] = temp; start++; end--; } } }
相關推薦
Leetcode 旋轉陣列(c++)
給定一個數組,將陣列中的元素向右移動 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
leetcode---旋轉陣列
題目說明 給定一個數組,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。 示例 1: 輸入: [1,2,3,4,5,6,7] 和 k = 3 輸出: [5,6,7,1,2,3,4] 解釋: 向右
LeetCode-旋轉陣列
旋轉陣列將包含 n 個元素的陣列向右旋轉 k 步。例如,如果 n = 7 , k = 3,給定陣列 [1,2,3,4,5,6,7] ,向右旋轉後的結果為 [5,6,7,1,2,3,4]。注意:儘可能找到更多的解決方案,這裡最少有三種不同的方法解決這個問題。感覺這個題目
LeetCode——旋轉陣列
問題描述:給定一個數組,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。解法一:將下標為i的元素放在下標i+k處,再將下標i+k處的元素放置在正確位置,以此類推(AC),時間複雜度:O(n),空間複雜度:O(1),程式碼如下:private static void R
(LeetCode)旋轉陣列
原體描述如下: Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotate
Leetcode演算法——33、查詢有序旋轉陣列
給定一個數組,這個陣列是由一個升序陣列進行左旋或右旋若干次得到的。 比如,[0,1,2,4,5,6,7] 可能會變為 [4,5,6,7,0,1,2] 給定一個目標值,去陣列中查詢這個值。如果找到,則返回索引,否則返回-1。 可以假設陣列中沒有重複值。 示例: Exampl
LeetCode演算法題189:旋轉陣列解析
給定一個數組,將陣列中的元素向右移動 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]
LeetCode 189.Rotate Array (旋轉陣列)
題目描述: 給定一個數組,將陣列中的元素向右移動 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,
LeetCode 189.旋轉陣列
void rotate(int* nums, int numsSize, int k) { int i,j,b; for (i = 0; i < k; i++) { b=nums[numsSize-1]; for (j = numsSize-2; j >= 0; j
刷爆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
LeetCode使用Python實現旋轉陣列
需求: 給定一個數組,將陣列中的元素向右移動 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,
LeetCode[189].旋轉陣列
題目 給定一個數組,將陣列中的元素向右移動 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 步
LeetCode之旋轉陣列
給定一個數組,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。 示例 1: 輸入: [1,2,3,4,5,6,7] 和 k = 3 輸出: [5,6,7,1,2,3,4] 解釋: 向右旋轉 1
【leetcode】#陣列【Python】48. Rotate Image 旋轉影象
連結: 題目: 給定一個 n × n 的二維矩陣表示一個影象。 將影象順時針旋轉 90 度。 說明: 你必須在原地旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉影象。 示
【LeetCode-面試演算法經典-Java實現】【153-Find Minimum in Rotated Sorted Array(找旋轉陣列中的最小數字)】
原題 Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0
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,
LeetCode-探索-初級-陣列-旋轉陣列-java
旋轉陣列 給定一個數組,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。 示例 1: 輸入: [1,2,3,4,5,6,7] 和 k = 3 輸出: [5,6,7,1,2,3,4] 解釋: 向右旋轉 1 步: [7,
LeetCode 153. Find Minimum in Rotated Sorted Array(旋轉陣列查詢)
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). Find t
LeetCode(初級演算法)陣列篇---旋轉陣列
題目 將包含 n 個元素的陣列向右旋轉 k 步。 例如,如果 n = 7 , k = 3,給定陣列 [1,2,3,4,5,6,7] ,向右旋轉後的結果為 [5,6,7,1,2,3,4]。 注意: 儘可能找到更多的解決方案,這裡最少有三種不同的方法
【LeetCode】Rotate Array 旋轉陣列
題目 Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7]