Skip to content

Commit 77934dd

Browse files
committed
CyclicRotation
1 parent 11a09d0 commit 77934dd

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include <vector>
2+
3+
std::vector<int> solution(std::vector<int>& A, int K) noexcept
4+
{
5+
if (A.empty()) return A;
6+
7+
const size_t s = A.size();
8+
std::vector<int> result(s);
9+
10+
const size_t shift = K > s ? K % s : K;
11+
12+
for (size_t i = 0; i != s; ++i)
13+
{
14+
if (i + shift < s)
15+
result[i + shift] = A[i];
16+
else
17+
result[i + shift - s] = A[i];
18+
}
19+
20+
return result;
21+
}

0 commit comments

Comments
 (0)