আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি অ্যারে এবং একটি সংখ্যা n নেবে।
আমাদের ফাংশনটি অ্যারেটি n উপাদান দিয়ে রোটেট করবে, অর্থাৎ সামনে থেকে n টি উপাদান নিয়ে শেষে যোগ করবে।
এখানে একমাত্র শর্ত হল আমাদের এটা এক্সট্রা মেমরি ব্যবহার ছাড়া করতে হবে।
উদাহরণস্বরূপ:
যদি ইনপুট অ্যারে হয়:
const arr = [12, 6, 43, 5, 7, 2, 5];
এবং 숫자 n হল ৩, তবে আউটপুট হবে:
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
]