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("एलिमेंट इंडेक्स पर मिला है " + (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("एलिमेंट इंडेक्स पर मिला है " + (txt_len - pat_len)); 
    } 
    public static void main(String args[]){ 
        String my_text = "ABNFGHABNJGH"; 
        String my_pattern = "NFGH"; 
        search_subs(my_pattern, my_text); 
    } 
}

आउटपुट

एलिमेंट इंडेक्स पर मिला है 2

Demo नामक एक क्लास एक कॉन्स्टेंट मान और एक बूलियन फंक्शन को परिभाषित करती है जो दो ऐरे लेता है। यह कॉन्स्टेंट मान तक पहुंचने तक दोनों ऐरे पर पुनरावृति करता है। यह तुलना किए गए ऐरे में एलिमेंट्स बराबर थे या असमान, इस पर निर्भर करते हुए true या false वापस करता है।

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

  1. - Java में ArrayList में स्ट्रिंग कैसे खोजें?

    String क्लास की contains() विधि एक स्ट्रिंग मान को पैरामीटर के रूप में स्वीकार करती है, सत्यापित करती है कि वर्तमान स्ट्रिंग ऑब्जेक्ट में निर्दिष्ट स्ट्रिंग है या नहीं और यदि है तो true लौटाती है (अन्यथा false)। इसलिए, ArrayList में स्ट्रिंग खोजने के लिए - सरणी सूची प्राप्त करें। फॉर-ईच लूप का उपयो

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

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

  1. पायथन प्रोग्राम: एनाग्राम सबस्ट्रिंग खोज पायथन प्रोग्राम: एनाग्राम सबस्ट्रिंग खोज

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक टेक्स्ट और एक पैटर्न दिया गया है, हमें पैटर्न और उसके क्रमपरिवर्तन (या एनाग्राम) की सभी घटनाओं को टेक्स्ट में प्रिंट करना है। उदाहरण # अधिकतम मान MAX = 300 # तुलना def compare(arr1, arr2): for i in range(MAX):