64 lines
1.2 KiB
Markdown
64 lines
1.2 KiB
Markdown
|
# Leetcode Rotate-Array
|
||
|
|
||
|
#### 2022-07-10 08:54
|
||
|
|
||
|
> ##### Algorithms:
|
||
|
> #algorithm #array_in_place_operation
|
||
|
> ##### Data structures:
|
||
|
> #DS #array
|
||
|
> ##### Difficulty:
|
||
|
> #coding_problem #difficulty-medium
|
||
|
> ##### Additional tags:
|
||
|
> #leetcode
|
||
|
> ##### Revisions:
|
||
|
> N/A
|
||
|
|
||
|
##### Related topics:
|
||
|
```expander
|
||
|
tag:#array_in_place_operation
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
##### Links:
|
||
|
- [Link to problem](https://leetcode.com/problems/rotate-array/)
|
||
|
___
|
||
|
### Problem
|
||
|
|
||
|
Given an array, rotate the array to the right by `k` steps, where `k` is non-negative.
|
||
|
|
||
|
#### Examples
|
||
|
|
||
|
**Example 1:**
|
||
|
|
||
|
**Input:** nums = [1,2,3,4,5,6,7], k = 3
|
||
|
**Output:** [5,6,7,1,2,3,4]
|
||
|
**Explanation:**
|
||
|
rotate 1 steps to the right: [7,1,2,3,4,5,6]
|
||
|
rotate 2 steps to the right: [6,7,1,2,3,4,5]
|
||
|
rotate 3 steps to the right: [5,6,7,1,2,3,4]
|
||
|
|
||
|
**Example 2:**
|
||
|
|
||
|
**Input:** nums = [-1,-100,3,99], k = 2
|
||
|
**Output:** [3,99,-1,-100]
|
||
|
**Explanation:**
|
||
|
rotate 1 steps to the right: [99,-1,-100,3]
|
||
|
rotate 2 steps to the right: [3,99,-1,-100]
|
||
|
|
||
|
#### Constraints
|
||
|
|
||
|
- `1 <= nums.length <= 105`
|
||
|
- `-231 <= nums[i] <= 231 - 1`
|
||
|
- `0 <= k <= 105`
|
||
|
|
||
|
### Thoughts
|
||
|
|
||
|
#### Method 1: Array In-place operation
|
||
|
|
||
|
#### Method 2: Copy
|
||
|
|
||
|
#### Method 3: CPP's STL
|
||
|
|
||
|
### Solution
|