1470.js
/** ------------------------------------------------------------------------------
*
* 2023-02-06
* 1470. Shuffle the Array
* https://leetcode.com/problems/shuffle-the-array/
*
------------------------------------------------------------------------------ */
// /**
// * @param {number[]} nums
// * @param {number} n
// * @return {number[]}
// */
// var shuffle = function (nums, n) {
// // const x1 = nums.slice(0, n);
// // const y1 = nums.slice(n);
// // const newArray = [];
// // for (let i = 0; i < x1.length; i++) {
// // newArray.push(x1[i]);
// // newArray.push(y1[i]);
// // }
// // return newArray;
// const res = [];
// for (i = 0; i < n; i++) {
// res.push(nums[i], nums[i + n]);
// }
// return res;
// };
/**
* @param {number[]} nums
* @param {number} n
* @return {number[]}
*/
var shuffle = function (nums, n) {
let i = n - 1;
for (let j = nums.length - 1; j >= n; j--) {
nums[j] <<= 10;
nums[j] |= nums[i];
i--;
}
console.log("nums", nums);
i = 0;
for (let j = n; j < nums.length; j++) {
const num1 = nums[j] & 1023;
const num2 = nums[j] >> 10;
nums[i] = num1;
nums[i + 1] = num2;
i += 2;
}
return nums;
};