@vaporeon_
The downside of doing that is that your code starts looking like this:
class Solution {
public:
int p(int i, int l, int s) {
return (s + i) % l;
}
int swap(vector<int>& a, int i, int j) {
int t = a[i];
a[i] = a[j];
a[j] = t;
return j;
}
void rotate(vector<int>& n, int k) {
int L = n.size();
k = k % L;
int c = 1;
while ((c * k) % L != 0) c++;
for (int i = 0; i < L / c; i++)
for (int j = 1, b = i, D = L - k; j < c; j++)
b = swap(n, b, p(b, L, D));
}
};
@vaporeon_ i intentionally renamed variables to make it stupider
also, this was a difficult solution that is a little tricky explain. also, i dont fully understand how it works lol
re: no image desc
@vaporeon_ specifically my solution is a linear time, O(1) space solution (O(1) space solution is really hard to come up with)
@wallhackio Not very leet of them to require JavaScript just to see the task...
@vaporeon_ they have a terminal where you can write code in an online IDE and immediately check the result against test cases so it actually makes sense in this context
@vaporeon_ it's a solution to https://leetcode.com/problems/rotate-array/description/
(javascript warning)