দুটি স্ট্রিং str1 এবং str2 দেওয়া থাকলে, str1-এ str2 কতবার এসেছে সেটি রিকার্সিভ ফাংশন দিয়ে গণনা করতে হবে।
উদাহরণ: str1 = "TPisTPareTPamTP", str2 = "TP" → আউটপুট: ৪
সমাধানের পদ্ধতি
contains()মেথড দিয়ে চেক করুনstr2কিstr1-এ আছে।- যদি থাকে,
replaceFirst()দিয়ে প্রথম অকারেন্সটি মুছে ফেলুন এবং রিকার্সিভ কল করে ১ যোগ করুন। - বেস কেস: আর না থাকলে ০ রিটার্ন করুন।
জাভা কোড উদাহরণ
public class RecursiveSubstringCount {
public static void main(String args[]) {
String str1 = "TPisTPareTPamTP", str2 = "TP";
System.out.println("সাবস্ট্রিং এর ঘটনা সংখ্যা: " + countOccurrences(str1, str2));
}
static int countOccurrences(String str, String sub) {
if (str.contains(sub)) {
return 1 + countOccurrences(str.replaceFirst(sub, ""), sub);
}
return 0;
}
}
আউটপুট
সাবস্ট্রিং এর ঘটনা সংখ্যা: 4