Rotate Array by K Number | LeetCode
Copy Below Code
View As A Text File
Show Text Only
Show API
Edit Code
Q = https://leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/646/
=========== Leet Code Solution =================
/**
* @param {number[]} nums
* @param {number} k
* @return {void} Do not return anything, modify nums in-place instead.
*/
var rotate = function(nums, k) {
if(nums.length <=0) return 0;
k = k % nums.length;
// Step 1 - Reverse whole Array
nums = nums.reverse();
// Step 2 - Reverse Array from start to k-1
reverseArr(nums,0,k-1);
// Step 3 - Rever from k to end
reverseArr(nums,k,nums.length-1);
};
function reverseArr(arr,start,end){
while(start < end){
let temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
==== Solution 1 ======
nums = [1,2,3,4,5,6,7], k = 3
function code(){
const nums= [1,2,3,4,5,6,7];
const k = 3;
var finalArr=[];
if(nums.length <=0) return 0;
var count=1;
for (var i = nums.length - 1; i >= 0; i--) {
if(count <= k){
finalArr.push(nums[i]);
nums.splice(i); // remove element from Specific Index
}
count++;
}
var finalArr= finalArr.concat(nums);
console.log(finalArr);
}
code();