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

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


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

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

अगर str1 "मुझे पता है कि आप जानते हैं कि मुझे पता है" str2="पता है"

घटनाओं की संख्या है - 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.

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

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

  • दो स्ट्रिंग्स को str1 और str2 के रूप में लें।

  • रिकर्सिव मेथड subsrting_rec(String str, String sub) string str और उसके substring sub को लेता है और str में sub की घटनाओं की गिनती देता है।

  • जांचें कि क्या str.contains(sub) सत्य है। ( str में उप है )

  • अगर सही है तो str.replaceFirst(sub,"") का उपयोग करके उप की पहली घटना को "" से बदलें।

  • इसे एक पुनरावर्ती कॉल के अंदर subsrting_rec(String str, String sub) पर करें।

  • सभी रिकर्सन के अंत में सभी रिटर्न मानों का योग गिना जाता है।

  • परिणाम प्रिंट करें।

उदाहरण

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. जावा प्रोग्राम प्रत्येक वर्ण की घटनाओं की गणना करने के लिए

    मान लें कि निम्नलिखित हमारी स्ट्रिंग है - स्ट्रिंग myStr =थिसिसिट; घटनाओं की गणना करने के लिए, हम हैश मैप का उपयोग कर रहे हैं। के माध्यम से लूप करें और इसका उपयोग करेंके(0 और charAt() विधि, उपरोक्त स्ट्रिंग में प्रत्येक वर्ण की घटनाओं की गणना करें - HashMap हैश मैप =नया हैश मैप=0; i--) { if (hashM

  1. जावा में संख्या गिनने के लिए प्रोग्राम को कैसे कार्यान्वित करें?

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

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

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