কম্পিউটার

জাভাতে পুনরাবৃত্তিমূলকভাবে একটি সাবস্ট্রিং এর ঘটনা গণনা করুন


দুটি স্ট্রিং str_1 এবং str_2 দেওয়া হয়েছে৷ লক্ষ্য হল একটি পুনরাবৃত্ত প্রক্রিয়া ব্যবহার করে স্ট্রিং str1 এ সাবস্ট্রিং str2 এর সংঘটনের সংখ্যা গণনা করা।

একটি পুনরাবৃত্ত ফাংশন হল একটি যার সংজ্ঞার ভিতরে নিজস্ব কল রয়েছে।

যদি str1 হয় "I know that you know that i know" str2="know"

ঘটনার সংখ্যা হল −3

আসুন উদাহরণ দিয়ে বোঝা যাক।

উদাহরণস্বরূপ

ইনপুট

str1 = "TPisTPareTPamTP", str2 = "TP";

আউটপুট

Count of occurrences of a substring recursively are: 4

ব্যাখ্যা

The substring TP occurs 4 times in str1.

ইনপুট

str1 = "HiHOwAReyouHiHi" str2 = "Hi"

আউটপুট

Count of occurrences of a substring recursively are: 3

ব্যাখ্যা

The substring Hi occurs 3 times in str1.

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

এই পদ্ধতিতে আমরা জাভাতে contains() পদ্ধতি ব্যবহার করে str1-এ str2-এর ঘটনা অনুসন্ধান করব। str1 এ str2 বিদ্যমান থাকলে এটি সত্য হবে। সত্য হলে, জাভাতে রিপ্লেস ফার্স্ট() পদ্ধতি ব্যবহার করে str1 থেকে প্রথম ঘটনাটিকে "" দিয়ে প্রতিস্থাপন করুন এবং গণনা বাড়াতে মান ফেরাতে 1 যোগ করুন।

  • str1 এবং str2 হিসাবে দুটি স্ট্রিং নিন।

  • রিকার্সিভ মেথড subsrting_rec(স্ট্রিং স্ট্র, স্ট্রিং সাব) স্ট্রিং স্ট্র এবং এর সাবস্ট্রিং সাব নেয় এবং স্ট্র-এ সাব-এর সংঘটনের গণনা প্রদান করে।

  • str.contains(sub) সত্য কিনা পরীক্ষা করুন। ( str এর সাব আছে )

  • যদি সত্য হয় তাহলে str.replaceFirst(sub,"") ব্যবহার করে "" দিয়ে sub-এর প্রথম উপস্থিতি প্রতিস্থাপন করুন।

  • subsrting_rec(স্ট্রিং স্ট্র, স্ট্রিং সাব) এ একটি পুনরাবৃত্ত কলের মধ্যে এটি করুন।

  • সমস্ত পুনরাবৃত্তির শেষে সমস্ত রিটার্ন মানের যোগফল গণনা করা হয়।

  • ফলাফল প্রিন্ট করুন।

উদাহরণ

public class recursive{
   public static void main(String args[]){
      String str1 = "TPisTPareTPamTP", str2 = "TP";
      System.out.println("Count of occurrences of a substring recursively are: "+subsrting_rec(str1, str2));
   }
   static int subsrting_rec(String str, String sub){
      if (str.contains(sub)){
         return 1 + subsrting_rec(str.replaceFirst(sub, ""), sub);
      }
      return 0;
   }
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of occurrences of a substring recursively are: 4

  1. জাভা প্রোগ্রাম একটি স্ট্রিং মধ্যে স্বর গণনা

  2. জাভা প্রোগ্রাম প্রতিটি অক্ষরের ঘটনা গণনা

  3. জাভাতে সংখ্যা গণনা করার জন্য একটি প্রোগ্রাম কীভাবে বাস্তবায়ন করবেন?

  4. পাইথনে স্ট্রিং-এ একটি অক্ষরের ঘটনা গণনা করুন