Sunday, February 14, 2021

Cracking the coding interview with solution

 हम सभी जानते हैं कि सबसे cracking the coding interview सवालों के जवाब देने से निर्धारित होता है कि हम एक साक्षात्कार में कैसा प्रदर्शन करते हैं। 

साक्षात्कार जावा, सी ++, या एक जावास्क्रिप्ट आवश्यकता के लिए हो सकता है, लेकिन आधार एक ही रहता है, अर्थात हम प्रोग्रामिंग लॉजिक की नींव में कितने मजबूत हैं।

यदि साक्षात्कार में हमारा दृष्टिकोण शीघ्र और सूक्ष्म है, तो भी चयन की संभावना अधिक है। इसलिए coding interview questions को क्रैक करने के लिए पढ़ें।

एक साक्षात्कार का सामना करने से पहले इन प्रोग्रामिंग साक्षात्कार प्रश्नों का अध्ययन और अभ्यास करना याद रखें। यह न केवल आपके विश्वास को बढ़ावा देगा, 

बल्कि उन्हें जल्दी से जवाब देने में भी मददगार होगा। प्रश्न मुख्य रूप से सरणियों, स्ट्रिंग, लिंक की गई सूची, आदि जैसे विषयों को कवर करेंगे।

Question for cracking the coding interview


Q # 1) आप एक स्ट्रिंग को कैसे रिवर्स कर सकते हैं? (reverse string in Hindi)

उत्तर: स्ट्रिंग निम्नलिखित एल्गोरिदम के साथ उलट है:


  •     Initiate
  •     The string which is to be reversed is declared.
  •     Get the length of the string.
  •     Start a loop and then swap the position of the array elements.
  •     Keep the exchanged positions.
  •     Print the reversed string.



Q # 2) What is palindrome string In Hindi ?


उत्तर: क्यू # 1 में चर्चा के बाद स्ट्रिंग उलट जाने के बाद, हमें निम्नलिखित शर्त रखने की आवश्यकता है:


Code snippet:

if(actualtxt.equals(reversetxt)){
   return “Palindrome”;
else
     return “Not Palindrome”;
}


इस प्रकार पैलिंड्रोम स्ट्रिंग वह है जो उलटने पर भी समान रहता है, उदाहरण के लिए, - 'मैडम' एक पैलिंड्रोम स्ट्रिंग है।

Q # 3) matching characters in a string कैसे प्राप्त करें?


उत्तर: मिलान वर्णों को एक स्ट्रिंग में लाने के लिए, निम्न चरणों का पालन किया जाता है:

  •     हैश मैप डेटा संरचना को लिया जाता है जो कुंजी-मूल्य जोड़ी के साथ काम करता है।
  •    string, character by character, को लूप करें, और सत्यापित करें कि स्ट्रिंग का वह वर्ण hash map में मौजूद है या नहीं।
  •     यदि परिणाम सही है, तो  hash map में वर्ण के लिए काउंटर बढ़ा दिया जाता है या फिर 1 के रूप में एक गिनती डालते हैं।
  •     एक बार जब लूप समाप्त हो जाता है, तो हैश मैप का पता लगाया जाता है और 1 से अधिक गणना वाले वर्णों को प्रिंट करता है।


Code snippet:

HashMap<Character, Integer> mp = new HashMap<> ();
   for (int j = 0; j<text.length (); j++) {
       char ch = text.charAt(j);
          if(mp.containsKey(ch)){
                int cnt = mp.get(ch);
             mp.put(ch, ++cnt);
         }else{
            mp.put(ch, 1);
          }
}
Set<Character> charct = map.keySet();
 
for (Character ch: charct){
     int c= mp.get(ch);
     if(c>1){
        System.out.println(ch+ " - " + c);
     }
}

 

Q # 4) non-matching characters in a string कैसे प्राप्त करें?


उत्तर: non-matching characters को एक स्ट्रिंग में लाने के लिए, निम्न चरणों का पालन किया जाता है:

  •     हैश मैप डेटा संरचना को लिया जाता है जो key-value pair के साथ काम करता है।
  •     स्ट्रिंग, चरित्र द्वारा चरित्र को लूप करें, और सत्यापित करें कि स्ट्रिंग का वह वर्ण हैश मानचित्र में मौजूद है या नहीं।
  •     यदि परिणाम सही है, तो hash map में वर्ण के लिए काउंटर बढ़ा दिया जाता है या फिर 1 के रूप में एक गिनती डालते हैं।
  •     एक बार जब लूप समाप्त हो जाता है, तो हैश मैप का पता लगाया जाता है और 1 के बराबर गिनती वाले वर्णों को प्रिंट करता है।


Code snippet: - 


HashMap<Character, Integer> mp = new HashMap<> ();
   for (int j = 0; j<text.length (); j++) {
       char ch = text.charAt(j);
          if(mp.containsKey(ch)){
                int cnt = mp.get(ch);
             mp.put(ch, ++cnt);
         }else{
            mp.put(ch, 1);
          }
}
Set<Character> charct = map.keySet();
for (Character ch: charct){
     int c= mp.get(ch);
     if(c==1){
        System.out.println(ch+ " - " + c);
     }
}


Q # 5) एक string में vowels and consonants की संख्या की गणना कैसे करें?


उत्तर: एक तार में स्वर और व्यंजन की संख्या की गणना करने के लिए, निम्न चरणों का पालन किया जाता है:

  •     वह स्ट्रिंग प्राप्त करें जिस पर गिनती करनी है।
  •     स्ट्रिंग की लंबाई 0 से एक लूप चलाएं।
  •     एक बार में एक ही वर्ण लें और सत्यापित करें कि क्या वे स्वरों के समूह का हिस्सा हैं।
  •     यदि परिणाम सही है, तो स्वरों की गिनती बढ़ाएँ अन्यथा व्यंजन की गिनती बढ़ाएँ।


Code snippet:


for (int k = 0; k < text.length(); k++) {
    char c = text.charAt(k);
    if (c == 'a' || c == 'e' || c == 'i' ||
       c == 'o' || c == 'u')
              owls += vowls
else
            consonts += consonts
}
System.out.println("Vowel count is " + vowls);
System.out.println("Consonant count is: " + consonts);


Q # 6) आप कैसे साबित करते हैं कि दो string anagrams हैं?

उत्तर: दो तारों को विपर्यय कहा जाता है यदि वे एक समान क्रम में वर्णों के समूह को समायोजित करते हैं।

यह जांचने के लिए कि क्या दो तार एनाग्राम हैं, निम्न चरणों का पालन किया जाता है:

  •     प्रारंभिक दो चर में दो तार।
  •     जांचें कि क्या दो तारों की लंबाई समान है, यदि नहीं तो तार एक विपर्यय नहीं हैं।
  •     यदि परिणाम सही है, तो दो तार लें और उन्हें एक वर्ण सरणी में संग्रहीत करें।
  •     दो वर्ण सरणियों को सॉर्ट करें, फिर जांचें कि क्या दो सॉर्ट किए गए सरणियाँ समान हैं।
  •     यदि परिणाम सत्य है, तो दो तार विपर्यय हैं, विपर्यय नहीं।


Code snippet:

if (str1.length() != str2.length()) { 
       System.out.println(str1 + " and " +str2 + " not anagrams string"); 
}else{
        char[] anagram1 = str1.toCharArray(); 
         char[] anagram2 = str2.toCharArray();
         Arrays.sort(anagram1); 
         Arrays.sort(anagram2);
          anagrmstat = Arrays.equals(anagram1, anagram2);
}
if (anagrmstat == true) {
     System.out.println(str1 + " and " +str2 + " anagrams string"); 
}else{
    System.out.println(str1 + " and " +str2 + " not anagrams string"); 
        }
}


Q # 7) एक स्ट्रिंग में किसी विशेष  character की घटना के लिए गणना का पता लगाएं।

उत्तर: किसी विशेष वर्ण की घटना को स्ट्रिंग में गिनने के लिए, निम्न चरणों का पालन किया जाता है:

  •     एक स्ट्रिंग और एक विशेष चरित्र के साथ शुरू करें, जिसकी घटना को गिना जाएगा।
  •     स्ट्रिंग की लंबाई से 0 से एक लूप शुरू करें।
  •     तुलना करें कि स्ट्रिंग का एक विशेष वर्ण खोजे जा रहे वर्ण के बराबर है।
  •     यदि परिणाम सत्य है, तो काउंटर के मूल्य में वृद्धि करें।


Code snippet:

for (int l=0; l<strng.length(); l++)
{
    if ( strng.charAt(l)== searchedcharacter)
          rslt ++;
 
}
System.out.println(rslt);

 

Q # 8) कैसे सत्यापित करें कि दो string rotation mutually हैं?


उत्तर: यह सत्यापित करने के लिए कि क्या दो तार परस्पर एक घुमाव हैं, निम्न चरणों का पालन किया जाता है:

  •     दो स्ट्रिंग्स को दो वेरिएबल्स में प्रारंभ करें।
  •     जांचें कि क्या दो तारों की लंबाई समान है, यदि गलत नहीं है।
  •     स्ट्रिंग को खुद से मिलाएं।
  •     सत्यापित करें कि क्या स्ट्रिंग को घुमाया गया है जो शामिल स्ट्रिंग में मौजूद है।
  •     यदि परिणाम सही है, तो दूसरी स्ट्रिंग पहली स्ट्रिंग का एक घुमाव है।


Code snippet:

String concat  = org_string + org_string;
 if (concat.indexOf (rotat) !  = -1) {
     return true;
}

 

Q #9) How to calculate the number of numerical digits in a string in hindi?


उत्तर: एक स्ट्रिंग में अंकों की संख्या की गणना करने के लिए, निम्न चरणों का पालन किया जाता है:

  •     वह स्ट्रिंग प्राप्त करें जिस पर गिनती करनी है
  •     रिप्लेसमेंट फ़ंक्शन का उपयोग करें, जो सभी संख्यात्मक अंकों को "" के साथ बदल देता है।
  •     बिना अंक के स्ट्रिंग की लंबाई प्राप्त करें।


Code snippet:

package introduction;
 
public class GG {
 
       public static void main(String[] args) {
               // TODO Auto-generated method stub
               String str = "TESTu45";
                str=str.replaceAll("\\d", "");
                int l = str.length();
                System.out.println("The length of the string without digit is:" + l);
 
        }
 
}

Q # 10) एक स्ट्रिंग के पहले character की गणना कैसे करें जो दोहराया नहीं जाता है?


उत्तर: एक स्ट्रिंग के पहले वर्ण की गणना करने के लिए जिसे दोहराया नहीं जाता है, निम्न चरणों का पालन किया जाता है:

  •      दोहराए गए वर्णों के लिए डेटा संरचना सेट करें और गैर-दोहराया वर्ण के लिए एक सूची ली जाए।
  •      repeated and non-repeated को अलग करने के बाद, पुनरावृत्ति के अंत में, सूची का पहला तत्व console में मुद्रित होता है।


Code snippet : - 

Set<Character> repeated = new HashSet<>();
List<Character> nonRepeated = new ArrayList<>();
for (int m = 0; m < wrd.length(); m++) {
            char l = wrd.charAt(m);
            if (repeated.contains(l)) {
                continue;
            }
            if (nonRepeated.contains(l)) {
                nonRepeated.remove((Character) l);
                repeated.add(l);
            } else {
                nonRepeated.add(l);
            }
        }
        return nonRepeated.get(0);
    }

 

0 Comments:

Post a Comment