Skip to content

Commit 07e1146

Browse files
committed
Create: 1470-shuffle-the-array
1 parent ee7a3bc commit 07e1146

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Diff for: rust/1470-shuffle-the-array.rs

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
impl Solution {
2+
pub fn shuffle(nums: Vec<i32>, n: i32) -> Vec<i32> {
3+
let mut nums = nums;
4+
5+
for i in 0..n as usize {
6+
nums[i] = nums[i] << 10;
7+
nums[i] = nums[i] | nums[i + n as usize];
8+
}
9+
10+
let mut j = 2 * n - 1;
11+
12+
for i in (0..=n as usize - 1).rev() {
13+
let y = nums[i] & (2_i32.pow(10) - 1);
14+
let x = nums[i] >> 10;
15+
nums[j as usize] = y;
16+
nums[j as usize - 1] = x;
17+
j -= 2;
18+
}
19+
20+
nums
21+
}
22+
}

0 commit comments

Comments
 (0)