स्ट्रिंग-आधारित अल्गोरिदमिक प्रश्न जावा मुलाखतींमध्ये खूप सामान्य आहेत, जसे की दोन स्ट्रिंग निनावी आहेत का ते तपासणे.पाहण्यासाठी), किंवा दिलेली स्ट्रिंग पॅलिंड्रोम आहे का ते तपासा (पाहण्यासाठी), किंवा फक्त त्या विशिष्ट वायरची बदली शोधा (पाहण्यासाठी): स्ट्रिंग-आधारित मुलाखतीत सर्वात लोकप्रिय प्रश्नांपैकी एक म्हणजे जावामध्ये दोन स्ट्रिंग फिरतात की नाही हे तपासणार आहे. या समस्येचे निराकरण करण्यासाठी, आपल्याला स्ट्रिंग रोटेशन काय आहे हे माहित असणे आवश्यक आहे. बरं, रेषा अक्षरांनी बनलेली आहे, պարզապես तुम्ही फक्त कोणत्याही पात्राप्रमाणे स्ट्रिंग फिरवा “प्रोग्रामिंग” होईल “कार्यक्रम” जर आपण खालील प्रतिमेवर स्ट्रिंग 3 वेळा फिरवली तर.

स्ट्रिंगवरील के-टर्न ओळीनंतर k अक्षरे घेते it ते त्याच क्रमाने ओळीच्या सुरुवातीला जोडते.

आपण कॉर्ड घड्याळाच्या दिशेने (वर उजवीकडून) किंवा घड्याळाच्या उलट दिशेने (वर डावीकडे) फिरवू शकता. दोर एका पायरीने फिरवता येतो “123456” होईल “456123” जर आपण “3” प्रतिमेभोवती 456 डावीकडे वळलो.

समस्या:

दिलेल्या ओळी s1 և s2 दुसऱ्याची पाळी आहे का हे तपासण्यासाठी प्रोग्राम लिहा. उदाहरणार्थ, जर: s1 = “IndiaUSAEngland” आणि s2 = “USAEnglandIndia” मग तुमची योजना खरी परतली पाहिजे, परंतु जर: S2 = “IndiaEnglandUSA” मग ते परतले पाहिजे बनावट.

या कार्यक्रमाच्या हेतूसाठी, आपण असे समजू शकता की तारा उजवीकडे वळत आहेत, परंतु निराकरण करण्यापूर्वी, आपण हा प्रश्न आपल्या वार्तालापाला विचारावा. अशा तपशीलांकडे लक्ष दिल्यास वास्तविक मुलाखतींमध्ये ब्राऊन गुण मिळतात.

लक्षात ठेवा तपशीलाकडे लक्ष देणे हे सॉफ्टवेअर अभियंत्यांच्या इष्ट गुणांपैकी एक आहे. तसेच, स्ट्रिंग सारख्या सामान्य डेटा स्ट्रक्चर्सचे मूलभूत ज्ञान असणे आवश्यक आहे, և आपल्याला आपली DSA कौशल्ये विकसित करण्यासाठी थोडा वेळ घालवणे आवश्यक आहे. जर तुम्हाला गरज असेल तर संसाधन, मी अत्यंत शिफारस करतो डेटा स्ट्रक्चर्स – अल्गोरिदम. जावा वापरून डीप डायव्ह: टीम बुचालकाचा उडेम वर एक कोर्स. तुमचे कोडिंग कौशल्य वाढवण्याचा आणि चालवण्याचा हा एक चांगला मार्ग आहे.

जावामध्ये तार फिरत आहेत की नाही हे कसे तपासायचे?

या कठीण समस्येचा सर्वात सोपा उपाय म्हणजे कॉर्डला त्याच्याशी जोडणे – या जोडलेल्या कॉर्डमध्ये दिलेली स्पिन अस्तित्वात आहे की नाही हे तपासणे. जर ती अस्तित्वात असेल तर दुसरी ओळ म्हणजे पहिल्या ओळीचे रोटेशन.

बीटीडब्ल्यू, कॉर्ड जोडण्यापूर्वी, आपण दोन कॉर्डची लांबी देखील तपासली पाहिजे. जर ते वेगवेगळ्या लांबीचे असतील, तर दोन ओळी निश्चितपणे फिरत नाहीत, परंतु जर त्या समान लांबीच्या असतील तर तुम्हाला आणखी तपासण्याची आवश्यकता आहे.

यामुळे जलद उपाय मिळतील, कारण दिलेल्या ओळीतील सबलाईन तपासण्यापेक्षा लांबी तपासणे जलद आहे.

दिलेली कॉर्ड इतर स्पिन आहे का हे तपासण्यासाठी अचूक अल्गोरिदम येथे आहे.

1) दोन ओळींची लांबी तपासा, जर लांबी समान नसेल तर खोटे परत करा
2) दिलेल्या ओळीला जोडा
3) या जोडलेल्या स्ट्रिंगवर स्ट्रिंगची फिरणारी आवृत्ती अस्तित्वात आहे का ते तपासा
4) जर होय, तर दुसरी स्ट्रिंग ही पहिल्या स्ट्रिंगची फिरणारी आवृत्ती आहे

ही छोटी युक्ती खरोखरच तुमच्या दैनंदिन जीवनात जॉब इंटरव्ह्यू प्रोग्रामिंग दरम्यान कोडिंगच्या समस्या सोडवण्यास मदत करते. जर तुम्हाला तुमच्या समस्या सोडवण्याच्या कौशल्यांमध्ये सुधारणा करण्यासाठी अशा नमुन्यांबद्दल अधिक जाणून घ्यायचे असेल, तर मी तपासणी करण्याची शिफारस करतो कोडिंग मुलाखत चर्चा. कोडिंग प्रश्न प्रशिक्षण अभ्यासक्रम.

हे आपल्याला नमुना ओळख आणि अधिक अज्ञात समस्येला लहान मध्ये बदलण्याची कला विकसित करून आपली कोडिंगची भावना सुधारण्यास मदत करेल.

असो, कोडच्या दोन ओळी एकमेकांना फिरवतात का हे तपासण्यासाठी येथे एक तर्क आहे.

एक स्ट्रिंग दुसर्‍यामधून फिरते की नाही हे तपासण्यासाठी जावा प्रोग्राम

आणि ही ओळ दुसऱ्या ओळीची रोटेशन आहे की नाही हे तपासण्यासाठी आमचा संपूर्ण जावा प्रोग्राम आहे.

import java.util.Scanner;

/*
 * Java Program to check if one String is rotation of
 * another.
 */
public class Main {

  public static void main(String[] args) throws Exception {

    Scanner scnr = new Scanner(System.in);
    System.out.println("Please enter original String");
    String input = scnr.nextLine();

    System.out.println("Please enter rotation of String");
    String rotation = scnr.nextLine();

    if (checkRotatation(input, rotation)) {
      System.out.println(input + " and " + rotation
          + " are rotation of each other");
    } else {
      System.out.println("Sorry, they are not rotation of another");
    }

    scnr.close();
  }

  /**
   * This method check is given strings are rotation of each other
   * @param original
   * @param rotation
   * @return true or false
   */
  public static boolean checkRotatation(String original, String rotation) {
    if (original.length() != rotation.length()) {
      return false;
    }

    String concatenated = original + original;

    if (concatenated.indexOf(rotation) != -1) {
      return true;
    }

    return false;
  }
}


Output
Please enter original String
IndiaVsAustralia
Please enter rotation of String
AustraliaVsIndia
Sorry, they are not the rotation of another

Please enter original String
IndiaVsEngland
Please enter rotation of String
EnglandIndiaVs
IndiaVsEngland and EnglandIndiaVs are rotation of each other

“तुम्ही पाहू शकता की जेव्हा एखादा वापरकर्ता IndiaVsAustralia Australia ‘AustraliaVsIndia’ मध्ये लॉग इन करतो, तेव्हा आमचे अॅप बनावट होते कारण ते एकमेकांना फिरवत नाहीत, परंतु जेव्हा वापरकर्ता लॉग इन करतो.”भारत विरुद्ध इंग्लंड इंग्लंड “EnglandIndiaVs”, मग आमची योजना प्रत्यक्षात येते, कारण येथे दोन ओळी एकमेकांना फिरवतात.

एवढे जावामध्ये एक स्ट्रिंग दुसर्‍याची फिरकी आहे हे कसे तपासायचे. मी म्हटल्याप्रमाणे, या समस्येचे निराकरण करण्याचा सर्वात सोपा मार्ग म्हणजे स्ट्रिंगला जोडणे – कनेक्ट केलेल्या स्ट्रिंगमध्ये स्पिन अस्तित्वात आहे की नाही ते तपासा. जर ते अस्तित्वात असेल तर याचा अर्थ ते फिरत आहेत. नसल्यास, पहिली पंक्ती दुसरी पंक्ती नाही.

किंवा या प्रोग्रामच्या अनेक आवृत्त्या आहेत, त्यापैकी अनेक सुरू ठेवण्यासाठी विचारतात, उदाहरणार्थ, तार डावीकडे फिरवल्यास तुम्ही समस्या कशी सोडवाल, किंवा वायर वापरल्याशिवाय दोन तार फिरतात की नाही हे तुम्ही तपासू शकता? संयोजन आपण हे पर्याय स्वतः सोडवण्याचा प्रयत्न करू शकता, परंतु जर तुम्हाला उपाय शोधायचा असेल तर तुम्ही ते वापरून पाहू शकता येथे:.