Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में पुनरावर्ती रूप से सबस्ट्रिंग की घटनाओं को गिनना

समस्या विवरण

दो स्ट्रिंग्स str_1 और str_2 दी गई हैं। लक्ष्य स्ट्रिंग str1 में सबस्ट्रिंग str2 की घटनाओं की संख्या को पुनरावर्ती प्रक्रिया का उपयोग करके गिनना है।

एक पुनरावर्ती फ़ंक्शन वह होता है जिसकी परिभाषा के अंदर उसका अपना कॉल होता है।

उदाहरण

उदाहरण के लिए

इनपुट

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

आउटपुट

सबस्ट्रिंग की पुनरावर्ती घटनाओं की संख्या: 4

व्याख्या

सबस्ट्रिंग TP str1 में 4 बार आता है।

इनपुट

str1 = "HiHOwAReyouHiHi" str2 = "Hi"

आउटपुट

सबस्ट्रिंग की पुनरावर्ती घटनाओं की संख्या: 3

व्याख्या

सबस्ट्रिंग Hi str1 में 3 बार आता है।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

इस दृष्टिकोण में हम जावा में contains() मेथड का उपयोग करके str1 में str2 की घटना को खोजेंगे। यह true वापस करेगा यदि str2, str1 में मौजूद है। True होने की स्थिति में, जावा में replaceFirst() मेथड का उपयोग करके इसे "" से बदलकर str1 से पहली घटना को हटा दें और काउंट बढ़ाने के लिए रिटर्न वैल्यू में 1 जोड़ें।

  • दो स्ट्रिंग्स को str1 और str2 के रूप में लें।
  • पुनरावर्ती मेथड subsrting_rec(String str, String sub) स्ट्रिंग str और उसके सबस्ट्रिंग sub को लेता है और str में sub की घटनाओं की गिनती वापस करता है।
  • जांचें कि क्या str.contains(sub) true है। (str में sub है)
  • यदि true है तो str.replaceFirst(sub,"") का उपयोग करके sub की पहली घटना को "" से बदलें।
  • इसे subsrting_rec(String str, String sub) के लिए एक पुनरावर्ती कॉल के अंदर करें।
  • सभी पुनरावृत्तियों के अंत में सभी रिटर्न वैल्यू का योग गिनती है।
  • परिणाम प्रिंट करें।

उदाहरण

public class Recursive{
    public static void main(String args[]){
        String str1 = "TPisTPareTPamTP", str2 = "TP";
        System.out.println("सबस्ट्रिंग की पुनरावर्ती घटनाओं की संख्या: "+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;
    }
}

आउटपुट

सबस्ट्रिंग की पुनरावर्ती घटनाओं की संख्या: 4
  1. - प्रत्येक कैरेक्टर की घटनाओं को गिनने के लिए Java प्रोग्राम

    मान लीजिए निम्नलिखित हमारा स्ट्रिंग है: String myStr = thisisit; घटनाओं को गिनने के लिए, हम HashMap का उपयोग कर रहे हैं। containsKey() और charAt() मेथड का उपयोग करके लूप करें और ऊपर दिए गए स्ट्रिंग में प्रत्येक कैरेक्टर की घटनाओं को गिनें: = 0; i--) { if (hashMap.containsKey(myStr.charAt(i)))

  1. Java में संख्या गिनने का प्रोग्राम कैसे लागू करें? Java में संख्या गिनने का प्रोग्राम कैसे लागू करें?

    प्रोग्राम एक JLabel का उपयोग काउंट लेबल रखने के लिए करता है, एक JTextField घटक संख्या काउंट रखने के लिए, JButton घटक जोड़ें, हटाएं और रीसेट बटन बनाने के लिए। जब हम ऐड बटन पर क्लिक करते हैं, तो JTextField में काउंट 1 से बढ़ जाता है और रिमूव बटन पर क्लिक करके काउंट 1 से घट जाता है। यदि हम रीसेट बटन प

  1. - पायथन में स्ट्रिंग में वर्ण की घटनाएं गिनें

    हमें एक स्ट्रिंग और एक वर्ण दिया गया है। हम यह पता लगाना चाहते हैं कि दिया गया वर्ण दी गई स्ट्रिंग में कितनी बार दोहराया जाता है। range और len के साथ हम सूचकांक का उपयोग करके स्ट्रिंग में मौजूद प्रत्येक वर्ण से वर्ण का मिलान करने के लिए एक फॉर लूप डिज़ाइन करते हैं। range और len फ़ंक्शन हमें यह निर्