हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक सरणी और एक संख्या 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 ]