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

জাভাস্ক্রিপ্টে সেট (Set) এর সর্বোচ্চ দৈর্ঘ্য বের করা


সমস্যা

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

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

মান लीজিয়ে S-র প্রথম উপাদান A[i] ইনডেক্স = 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. জাভাস্ক্রিপ্টে স্ট্রিংয়ে সর্বোচ্চ কমsekutিভ রিপিটিশন বালা ক্যারেক্টার খুঁজে বের করা