leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0189.cpp (662B)


0 // O(n) memory solution
1 class Solution {
2 public:
3 void rotate(vector<int> &nums, int k) {
4 k %= nums.size();
5 vector<int> t(k);
6 for (int i = 0; i < k; i++)
7 t[i] = nums[nums.size() - k + i];
8 for (int i = nums.size() - k - 1; i >= 0; i--)
9 nums[i + k] = nums[i];
10 for (int i = 0; i < k; i++)
11 nums[i] = t[i];
12 }
13 };
15 // O(1) memory solution
16 class Solution {
17 public:
18 void rotate(vector<int> &nums, int k) {
19 k %= nums.size();
20 reverse(nums.begin(), nums.end());
21 reverse(nums.begin(), nums.begin() + k);
22 reverse(nums.begin() + k, nums.end());
23 }
24 };