// Online Javascript Editor for free
// Write, Edit and Run your Javascript code using JS Online Compiler
function rotateArray(arr, d) {
let n = arr.length;
d %= n;
reverse(arr, 0, d-1);
reverse(arr, d, n-1);
reverse(arr, 0, n-1);
return arr;
}
function reverse(arr, left, right) {
while (left < right) {
[arr[left], arr[right]] = [arr[right], arr[left]];
left++;
right--;
}
}
console.log(rotateArray([1,2,3,4], 3))
Ly8gT25saW5lIEphdmFzY3JpcHQgRWRpdG9yIGZvciBmcmVlCi8vIFdyaXRlLCBFZGl0IGFuZCBSdW4geW91ciBKYXZhc2NyaXB0IGNvZGUgdXNpbmcgSlMgT25saW5lIENvbXBpbGVyCmZ1bmN0aW9uIHJvdGF0ZUFycmF5KGFyciwgZCkgewogICAgbGV0IG4gPSBhcnIubGVuZ3RoOwogICAgCiAgICBkICU9IG47CiAgICAKICAgIHJldmVyc2UoYXJyLCAwLCBkLTEpOwogICAgcmV2ZXJzZShhcnIsIGQsIG4tMSk7CiAgICByZXZlcnNlKGFyciwgMCwgbi0xKTsKICAgIAogICAgcmV0dXJuIGFycjsKfQoKZnVuY3Rpb24gcmV2ZXJzZShhcnIsIGxlZnQsIHJpZ2h0KSB7CiAgICB3aGlsZSAobGVmdCA8IHJpZ2h0KSB7CiAgICAgICAgW2FycltsZWZ0XSwgYXJyW3JpZ2h0XV0gPSBbYXJyW3JpZ2h0XSwgYXJyW2xlZnRdXTsKICAgICAgICBsZWZ0Kys7CiAgICAgICAgcmlnaHQtLTsKICAgIH0KfQoKY29uc29sZS5sb2cocm90YXRlQXJyYXkoWzEsMiwzLDRdLCAzKSk=