কম্পিউটার

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


পরবর্তী

এই সমস্যার উদ্দেশ্যে, আমরা একটি অনুক্রমকে একটি ক্রম হিসাবে সংজ্ঞায়িত করি যা অবশিষ্ট উপাদানগুলির ক্রম পরিবর্তন না করে কিছু অক্ষর মুছে ফেলার মাধ্যমে একটি ক্রম থেকে উদ্ভূত হতে পারে। যেকোন স্ট্রিং হল নিজের একটি পরবর্তী এবং একটি খালি স্ট্রিং হল যেকোন স্ট্রিং এর একটি পরবর্তী অংশ৷

সমস্যা

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

দীর্ঘতম অস্বাভাবিক অনুবর্তন বলতে আমরা বুঝি, অ্যারের মধ্যে একটি স্ট্রিংয়ের দীর্ঘতম অনুবর্তন এবং এই অনুগামীটি অ্যারের অন্যান্য স্ট্রিংগুলির কোনও অনুসৃতি হওয়া উচিত নয়৷

যদি কোন অস্বাভাবিক অনুবর্তন না থাকে, তাহলে আমাদের ফিরে আসা উচিত -1।

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

const arr = ["aba", "cdc", "eae"];

তারপর আউটপুট −

হওয়া উচিত
const output = 3;

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

“aba”, “cdc” এবং “eae” হল দৈর্ঘ্য 3 এর সবই বৈধ অস্বাভাবিক অনুক্রম।

উদাহরণ

এর জন্য কোড হবে −

const arr = ["aba", "cdc", "eae"];
const longestUncommon = (strs) => {
   const map = {};
   const arr = [];
   let max = -1;
   let index = -1;
   for(let i = 0; i < strs.length; i++){
      map[strs[i]] = (map[strs[i]] || 0) + 1;
      if(map[strs[i]] > 1){
         if(max < strs[i].length){
            max = strs[i].length
            index = i;
         }
      }
   }
   if(index === -1) {
      strs.forEach(el =>{
         if(el.length > max) max = el.length;
      })
      return max;
   }
   for(let i = 0; i < strs.length; i++){
      if(map[strs[i]] === 1) arr.push(strs[i]);
   }
   max = -1
   for(let i = arr.length - 1; i >= 0; i--){
      let l = arr[i];
      let d = 0;
      for(let j = 0; j < strs[index].length; j++){
         if(strs[index][j] === l[d]){
            d++;
         }
      }
      if(d === l.length){
         let temp = arr[i];
         arr[i] = arr[arr.length - 1];
         arr[arr.length - 1] = temp;
         arr.pop();
      }
   }
   arr.forEach(el =>{
      if(el.length > max) max = el.length;
   })
   return max;
};
console.log(longestUncommon(arr));

আউটপুট

এবং কনসোলে আউটপুট হবে −

3

  1. কিভাবে জাভাস্ক্রিপ্ট একটি অ্যারের দৈর্ঘ্য খুঁজে পেতে?

  2. জাভাস্ক্রিপ্ট অ্যারে দৈর্ঘ্য সম্পত্তি

  3. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের দৈর্ঘ্য

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি স্ট্রিং-এ দীর্ঘতম স্বরবর্ণ সাবস্ট্রিং-এর দৈর্ঘ্য খুঁজে বের করা