-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path1470-shuffle-the-array.cpp
35 lines (33 loc) · 1020 Bytes
/
1470-shuffle-the-array.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
class Solution {
public:
vector<int> shuffle(vector<int>& nums, int n) {
vector<int> res;
for (int i = 0; i < n; i ++) {
res.push_back(nums[i]);
res.push_back(nums[n + i]);
}
return res;
}
};
*/
// class Solution {
// public:
// vector<int> shuffle(vector<int>& nums, int n) {
// for (int i = n; i < nums.size(); i++) nums[i] = 1001 * nums[i] + nums[i-n];
// for (int left = 0, right = n; right < nums.size(); right++, left += 2)
// nums[left] = nums[right] % 1001, nums[left + 1] = nums[right] / 1001;
// return nums;
// }
// };
class Solution {
public:
vector<int> shuffle(vector<int>& nums, int n) {
for (int i = n; i < nums.size(); i++) nums[i] = 1001* nums[i] + nums[i-n];
for (int left = 0, right = n; right < nums.size(); left += 2, right++) {
nums[left] = nums[right] % 1001;
nums[left + 1] = nums[right] / 1001;
}
return nums;
}
};