কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে রিকার্সন দিয়ে স্নেইল ট্রেইল সমস্যা সমাধান


মনে করুন আমাদের নিচের মত একটি অ্যারে আছে −

const arr = [    [1, 2, 3, 4],    [12,13,14,5],    [11,16,15,6],    [10,9, 8, 7] ];

এই অ্যারে একটি স্কোয়ার ম্যাট্রিক্স।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই অ্যারেটি নিয়ে একটি নতুন অ্যারে তৈরি করবে স্পাইরাল আকারে (বাহির থেকে মধ্যবর্তী দিকে) এলিমেন্টগুলো সংগ্রহ করে।

উপরোক্ত অ্যারেতের আউটপুট হবে −

const output = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];

এই সমস্যাটি রিকার্সন ব্যবহার করে সমাধান করব।

উদাহরণ

নিচে কোডটি দেওয়া হলো −

const arr = [    [1, 2, 3, 4],    [12,13,14,5],    [11,16,15,6],    [10,9, 8, 7] ]; const spiralForm = arr => {    return arr.length > 1 ?    arr.splice(0,1)[0]    .concat(spiralForm(arr[0].map((c, i) => {       return arr.map(r => r[i]);    })    .reverse())) :    arr[0] } console.log(spiralForm(arr));

আউটপুট

কনসোলে নিম্নলিখিত আউটপুট দেখা যাবে −

[   1,  2,  3,  4,  5,  6,   7,  8,  9, 10, 11, 12,  13, 14, 15, 16 ]

  1. জাভাস্ক্রিপ্টে অ্যারে খালি কীভাবে করবেন?

  2. জাভাস্ক্রিপ্টে অ্যারে খালি করার উপায়

  3. জাভাস্ক্রিপ্ট বেসিক অ্যারে মেথড: push, pop, shift, unshift, splice

  4. জাভাস্ক্রিপ্টে কলা বিতরণ সমস্যা (Distributing Bananas)