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

जावा में एक प्रोग्राम लिखें यह जांचने के लिए कि क्या एक स्ट्रिंग को 2 स्थानों से घुमाकर एक स्ट्रिंग प्राप्त की जा सकती है

मान लीजिए कि हमारे पास दो तार 'ए' और 'बी' हैं, तो कार्य यह पता लगाना है कि क्या हम स्ट्रिंग 'ए' को ठीक 2 स्थानों पर वामावर्त या दक्षिणावर्त दिशा में घुमाकर स्ट्रिंग 'बी' प्राप्त कर सकते हैं। उदाहरण के लिए,

इनपुट-1 -

a = google
b = legoog

आउटपुट -

True

स्पष्टीकरण - स्ट्रिंग 'गूगल' को घड़ी की विपरीत दिशा में दो स्थानों पर घुमाया जा सकता है, जिसके परिणामस्वरूप स्ट्रिंग 'लेगोग' बन जाती है। इस प्रकार, हम ट्रू लौटते हैं।

इनपुट-2 -

a = tuorialst
b = tutorials

आउटपुट -

False

स्पष्टीकरण - एक और स्ट्रिंग 'ट्यूटोरियल' प्राप्त करने के लिए स्ट्रिंग 'ट्यूरियलस्ट' को किसी भी दिशा में दो स्थानों से घुमाया नहीं जा सकता है। इस प्रकार, हम झूठी वापसी करते हैं।

इस समस्या को हल करने के लिए इस्तेमाल किया जाने वाला तरीका

दिए गए दो स्ट्रिंग के लिए, इस दृष्टिकोण में हमारे पास दो मामले हैं -

  • वामावर्त घुमाने के लिए

  • दक्षिणावर्त घुमाने के लिए।

सबसे पहले, यदि दोनों तारों की लंबाई अलग है, तो झूठी वापसी करें; अन्यथा, यदि दोनों स्ट्रिंग्स की लंबाई '2' से कम या उसके बराबर है, तो हम ट्रू वापस आ जाएंगे।

अन्य मामलों में, हम जांच करेंगे कि स्ट्रिंग 'बी' का एक सबस्ट्रिंग दो स्थानों को वामावर्त घुमाकर स्ट्रिंग 'ए' के ​​बराबर हो जाता है, तो हम ट्रू वापस आ जाएंगे। अन्यथा, गलत।

इसी तरह, यदि स्ट्रिंग 'बी' को घड़ी की दिशा में दो स्थानों पर घुमाने से, यह स्ट्रिंग 'ए' के ​​बराबर हो जाता है, तो सही है, अन्यथा, हम झूठी वापसी करेंगे।

  • दो इनपुट स्ट्रिंग 'ए' और 'बी' लें

  • एक बूलियन फ़ंक्शन checkRotated(string a, string b) दो स्ट्रिंग्स 'a' और string 'b' लेता है और यदि वे स्ट्रिंग 'b' को वामावर्त या दक्षिणावर्त दिशा में घुमाकर समान हैं तो वापस आ जाता है।

  • स्ट्रिंग 'ए' और स्ट्रिंग 'बी' की लंबाई की जांच करें।

  • दो स्थानों को वामावर्त घुमाकर स्ट्रिंग 'बी' के सबस्ट्रिंग का पता लगाएं।

  • अब जांचें कि परिणामी सबस्ट्रिंग स्ट्रिंग 'ए' के ​​बराबर है या नहीं और अगर यह बराबर है तो सही है।

  • स्ट्रिंग 'बी' को दो स्थानों पर दक्षिणावर्त दिशा में घुमाकर उसके स्थानापन्न का पता लगाएं।

  • अब जांचें कि परिणामी सबस्ट्रिंग स्ट्रिंग 'ए' के ​​बराबर है या नहीं और अगर यह बराबर है तो सही है।

  • अगर तार बराबर नहीं हैं, तो झूठी वापसी करें।

उदाहरण

public class Solution{
   static boolean checkRotated(String str1, String str2){
      String s1="";
      String s2="";
      int len= str2.length();
      if (str1.length() != str2.length())
         return false;
      s1= str2.substring(len-2, len)+ str2.substring(0,len-2);
      s2= str2.substring(0,2) + str2.substring(0,2);
      return (str1.equals(s1) || str1.equals(s2));
   }
   public static void main(String[] args){
      String s1= "google";
      String s2= "legoog";
      System.out.println(checkRotated(s1,s2) ? "True":"False");
   }
}

आउटपुट

यदि हम उपरोक्त कोड चलाएंगे, तो यह आउटपुट को इस रूप में प्रिंट करेगा,

False

चूंकि उपरोक्त कोड का आउटपुट "ट्रू" है, यह 'ट्रू' प्रिंट करेगा।


  1. जांचें कि क्या एक स्ट्रिंग को अन्य स्ट्रिंग 2 स्थानों को पायथन में घुमाकर प्राप्त किया जा सकता है

    मान लीजिए कि हमारे पास दो तार s और t हैं। हमें यह जांचना है कि क्या हम t दो स्थान को किसी भी दिशा में बाएँ या दाएँ घुमाकर s प्राप्त कर सकते हैं। इसलिए, यदि इनपुट s =कोलकाता t =tacolka जैसा है, तो आउटपुट सही होगा क्योंकि हम कोलकाता प्राप्त करने के लिए takolka को बाईं ओर दो बार घुमा सकते हैं। इसे हल

  1. पायथन में एक तत्व को हटाकर एक स्ट्रिंग की जाँच करने के लिए प्रोग्राम को दूसरे में परिवर्तित किया जा सकता है

    मान लीजिए कि हमारे पास दो तार s और t हैं, हमें यह जांचना होगा कि क्या हम s से 1 अक्षर हटाकर t प्राप्त कर सकते हैं। इसलिए, यदि इनपुट s =world, t =wrld जैसा है, तो आउटपुट ट्रू होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - i:=0 n:=s का आकार जबकि मैं

  1. यह जांचने के लिए प्रोग्राम कि क्या एक स्ट्रिंग को 1 से 1 के लिए पायथन में दूसरे स्ट्रिंग में मैप किया जा सकता है

    मान लीजिए कि हमारे पास दो लोअरकेस स्ट्रिंग्स हैं, और t हमें यह जांचना है कि क्या हम s में प्रत्येक अक्षर के लिए एक 1-टू-1 मैपिंग बना सकते हैं (शायद एक ही अक्षर) जैसे कि s को t में मैप किया जा सकता है। (अक्षरों का क्रम नहीं बदला जाएगा)। i इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - s_dict :=ए