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

एनाग्राम सबस्ट्रिंग सर्च के लिए जावा प्रोग्राम

जावा में एनाग्राम सबस्ट्रिंग सर्च के लिए एक उदाहरण निम्नलिखित है -

उदाहरण

public class Demo{
   static final int max_val = 256;
   static boolean compare_vals(char my_arr_1[], char my_arr_2[]){
      for (int i = 0; i < max_val; i++)
      if (my_arr_1[i] != my_arr_2[i])
      return false;
      return true;
   }
   static void search_subs(String my_pattern, String my_text){
      int pat_len = my_pattern.length();
      int txt_len = my_text.length();
      char[] count_pat = new char[max_val];
      char[] count_txt = new char[max_val];
      for (int i = 0; i < pat_len; i++){
         (count_pat[my_pattern.charAt(i)])++;
         (count_txt[my_text.charAt(i)])++;
      }
      for (int i = pat_len; i < txt_len; i++){
         if (compare_vals(count_pat, count_txt))
         System.out.println("The element was found at index " + (i - pat_len));
         (count_txt[my_text.charAt(i)])++;
         count_txt[my_text.charAt(i-pat_len)]--;
      }
      if (compare_vals(count_pat, count_txt))
      System.out.println("The element was found at index " + (txt_len - pat_len));
   }
   public static void main(String args[]){
      String my_text = "ABNFGHABNJGH";
      String my_pattern = "NFGH";
      search_subs(my_pattern, my_text);
   }
}

आउटपुट

The element was found at index 2

डेमो नामक एक वर्ग एक स्थिर मान और एक बूलियन फ़ंक्शन को परिभाषित करता है जो दो सरणियों में लेता है। यह स्थिर मान तक पहुंचने तक दोनों सरणियों पर पुनरावृति करता है। यह इस बात पर निर्भर करता है कि तुलना की गई सरणी में तत्वों की तुलना बराबर या असमान थी या नहीं, यह सही या गलत है।

एक अन्य स्थिर कार्य पाठ और पैटर्न में लेता है जिसे पाठ में जांचने की आवश्यकता होती है और पैटर्न और स्ट्रिंग पर पुनरावृति होती है। पैटर्न और स्ट्रिंग दोनों की संख्या में वृद्धि हुई है। फिर से एक 'फॉर' लूप चलाया जाता है और पैटर्न और टेक्स्ट दोनों की गिनती की तुलना की जाती है। यदि वे बराबर हैं, तो सूचकांक प्रदर्शित होता है। अन्यथा, एक प्रासंगिक संदेश प्रदर्शित होता है। मुख्य वर्ग में, पैटर्न और टेक्स्ट को परिभाषित किया जाता है और फ़ंक्शन को कहा जाता है।


  1. जावा में ArrayList में स्ट्रिंग की खोज कैसे करें?

    इसमें एक () . शामिल है स्ट्रिंग वर्ग की विधि स्टिंग मान को एक पैरामीटर के रूप में स्वीकार करती है, यह सत्यापित करती है कि क्या वर्तमान स्ट्रिंग ऑब्जेक्ट में निर्दिष्ट स्ट्रिंग है और यदि यह करता है तो सही है (अन्यथा गलत)। इसलिए, एक ArrayList में एक स्ट्रिंग के लिए - सरणी सूची प्राप्त करें। प्र

  1. जावा प्रोग्राम एक स्ट्रिंग में स्वरों की गणना करने के लिए

    मान लें कि निम्नलिखित हमारी स्ट्रिंग है - String myStr = "Jamie"; वेरिएबल काउंट =0 सेट करें, क्योंकि हम एक ही वेरिएबल में स्वरों की गणना करेंगे। प्रत्येक वर्ण के माध्यम से लूप करें और स्वर गिनें - for(char ch : myStr.toCharArray()) {    ch = Character.toLowerCase(ch);   &nb

  1. एनाग्राम सबस्ट्रिंग सर्च के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - एक टेक्स्ट और एक पैटर्न को देखते हुए, हमें टेक्स्ट में पैटर्न और उसके क्रमपरिवर्तन (या विपर्यय) की सभी घटनाओं को प्रिंट करना होगा। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # maximum value MAX = 300 #