हमें एक JavaScript फंक्शन लिखना है जो एक ऐरे और एक संख्या n लेता है।
हमारा फंक्शन ऐरे को n एलिमेंट्स से रोटेट करना चाहिए, यानी सामने से n एलिमेंट्स लेकर अंत में रखना चाहिए।
यहां एकमात्र शर्त यह है कि हमें इसे मेमोरी में किसी भी एक्स्ट्रा स्पेस का उपयोग किए बिना करना है।
उदाहरण के लिए:
अगर इनपुट ऐरे निम्नलिखित है,
const arr = [12, 6, 43, 5, 7, 2, 5];
और संख्या n 3 है, तो आउटपुट होना चाहिए:
const output = [5, 7, 2, 5, 12, 6, 43];
उदाहरण
निम्नलिखिक कोड है:
const arr = [12, 6, 43, 5, 7, 2, 5];
const num = 5;
const rotateByOne = arr => {
for(let i = 0; i < arr.length-1; i++){
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
};
}
Array.prototype.rotateBy = function(n){
const { length: l } = this;
if(n >= l){
return;
};
for(let i = 0; i < n; i++){
rotateByOne(this);
};
};
arr.rotateBy(num);
console.log(arr);
आउटपुट
यह कंसोल में निम्नलिखिक आउटपुट देगा:
[
2, 5, 12, 6,
43, 5,
7
]