darrellp

Leetcode Shuffle

Nov 24th, 2021 (edited)
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. vector < int >
  7. shuffle (vector < int >&nums, int n)
  8. {
  9.     for (int i = n; i < nums.size (); i++)
  10.     {
  11.         nums[i] = (nums[i] << 16) | nums[i - n];
  12.     }
  13.     for (int i = n, id = 0; i < nums.size (); i++, id += 2)
  14.     {
  15.         nums[id] = nums[i] & 0xffff;
  16.         nums[id + 1] = nums[i] >> 16;
  17.     }
  18.  
  19.     return nums;
  20. }
  21.  
  22. int
  23. main ()
  24. {
  25.     vector < int >nums = { 2, 5, 1, 3, 4, 7 };
  26.     int n = 3;
  27.     vector < int >ans = shuffle (nums, n);
  28.     for (auto x:ans)
  29.     {
  30.         cout << x << " ";
  31.     }
  32. }
Add Comment
Please, Sign In to add comment