কম্পিউটার

জাভাস্ক্রিপ্টে সেটের দীর্ঘতম দৈর্ঘ্য খুঁজুন এবং ফেরত দিন


সমস্যা

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

N দৈর্ঘ্যের অ্যারে, অ্যার, 0 থেকে N-1 পর্যন্ত সমস্ত পূর্ণসংখ্যা ধারণ করে। আমাদের ফাংশনটি S সেটের দীর্ঘতম দৈর্ঘ্য খুঁজে বের করে ফেরত দেওয়ার কথা, যেখানে S[i] ={A[i], A[A[i]], A[A[A[i]]], ... } বিষয় নিচের নিয়মে।

ধরুন S-এর প্রথম উপাদানটি সূচী =i-এর A[i] উপাদান নির্বাচন দিয়ে শুরু হয়, S-এর পরবর্তী উপাদানটি হতে হবে A[A[i]], এবং তারপর A[A[A[i]]]... এর দ্বারা সাদৃশ্য, S.

-এ একটি সদৃশ উপাদান ঘটার আগেই আমরা যোগ করা বন্ধ করি

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

const arr = [5, 4, 0, 3, 1, 6, 2];

তারপর আউটপুট হওয়া উচিত−

const output = 4;

আউটপুট ব্যাখ্যা

A[0] =5, A[1] =4, A[2] =0, A[3] =3, A[4] =1, A[5] =6, A[6] =2.

একটি দীর্ঘতম S[K]:

S[0] = {A[0], A[5], A[6], A[2]} = {5, 6, 2, 0}

উদাহরণ

নিম্নলিখিত কোড -

const arr = [5, 4, 0, 3, 1, 6, 2];
const arrayNesting = (arr = []) => {
   const visited = {}
   const aux = (index) => {
      if (visited[index]) {
         return 0
      }
      visited[index] = true
      return aux(arr[index], visited) + 1
   }
      let max = 0
      arr.forEach((n, index) => {
         if (!visited[index]) {
            max = Math.max(max, aux(index))
         }
   )
   return max
}
console.log(arrayNesting(arr));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

4

  1. জাভাস্ক্রিপ্টে অ্যারেতে অস্বাভাবিক দীর্ঘতম সাবস্ট্রিং খোঁজা

  2. জাভাস্ক্রিপ্টে দীর্ঘতম শব্দ গঠন করা

  3. জাভাস্ক্রিপ্টে দীর্ঘতম স্ট্রিং চেইনের দৈর্ঘ্য

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি স্ট্রিং এবং এর দৈর্ঘ্যে দীর্ঘতম ধারাবাহিক পুনরাবৃত্তি সহ অক্ষরটি সন্ধান করা