---
# System prepended metadata

title: 1470. Shuffle the Array
tags: [Leetcode, Bloomberg, Easy]

---

# 1470. Shuffle the Array
###### tags: `Leetcode` `Easy` `Bloomberg`
Link: https://leetcode.com/problems/shuffle-the-array/
## 思路 O(N) O(1)
一开始想直接用回圈跑 但是发现太复杂 n=3的时候只要抓住一个位置，然后一直track下去就可以了
但是到n=4就不行了

下面的方法非常tricky
适用于只是reorder一下array里面的数字，找规律先全都存到前面，再拆解
## Code
```java=
class Solution {
    public int[] shuffle(int[] nums, int n) {
        for(int i = 0;i < n;i++){
            nums[i] = nums[i]*10000 + nums[n+i];
        }
        for(int i = n-1;i >= 0;i--){
            nums[2*i+1] = nums[i]%10000;
            nums[2*i] = nums[i]/10000;
        }
        return nums;
    }
}
```