एक स्ट्रिंग में सभी वर्णों को टॉगल करने का कार्यक्रम


कठिनाई स्तर आसान
में अक्सर पूछा Capgemini जानकारी MAQ ऑक्सिजन वॉलेट
तार

समस्या का विवरण

"स्ट्रिंग में सभी वर्णों को टॉगल करने के लिए प्रोग्राम" समस्या में हमने एक स्ट्रिंग दी है, दिए गए सभी वर्णों को टॉगल करने के लिए एक प्रोग्राम लिखें स्ट्रिंग। यहाँ टॉगल का अर्थ है सभी अपरकेस वर्णों को लोअरकेस में बदलना और सभी लोअरकेस वर्णों को अपरकेस वर्णों में परिवर्तित करना।

इनपुट प्रारूप

स्ट्रिंग एस युक्त पहली पंक्ति।

आउटपुट स्वरूप

अंतिम स्ट्रिंग को एक पंक्ति में प्रिंट करें।

की कमी

  • 1 <= | s | <= 10 ^ 6
  • s [i] कोई विशेष चार या ऊपरी, निचला केस वर्णमाला है।

उदाहरण

Abcd2#BCDa
aBCD2#bcdA

स्पष्टीकरण: यहाँ हम चार स्ट्रिंग को पूरी तरह से चार्ज करते हैं। ऊपरी, निचले मामले की वर्णमाला की जांच करें और उसके अनुसार इसे बदलें। तो, सभी तार पर जाने के बाद अंतिम तार "बीसीडी 2 # बीसीडीए" है।

स्ट्रिंग में सभी वर्णों को टॉगल करने के लिए एल्गोरिथम

  1. दिए गए स्ट्रिंग s का इनपुट लें।
  2. पूरे स्ट्रिंग को पीछे छोड़ें।
  3. जांचें कि क्या s [i] एक ऊपरी केस वर्णमाला है, फिर इसे कम केस वर्णमाला में परिवर्तित करें।
  4.  और यदि s [i] एक कम केस वर्णमाला है तो इसे ऊपरी मामले की वर्णमाला में परिवर्तित करें।
  5. और कुछ नहीं करते, बस छोड़ देते हैं।

कार्यान्वयन

C ++ प्रोग्राम एक स्ट्रिंग में सभी वर्णों को टॉगल करने के लिए

#include <bits/stdc++.h>
using namespace std;

int main()
{
   string a;
   cin>>a;
   int n=a.length();
   for(int i=0;i<n;i++)
   {
       if(a[i]>='A' && a[i]<='Z')
       {
           a[i]='a'+(a[i]-'A');
       }
       else if(a[i]>='a' && a[i]<='z')
       {
           a[i]='A'+(a[i]-'a');
       }
   }
   cout<<a<<endl;
   return 0;
}

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

import java.util.Scanner;

class sum { 
    public static void main(String[] args) 
    {
        Scanner sr= new Scanner(System.in);
        String s= sr.next();
        int n = s.length(); 
        char ans[] = s.toCharArray();
        for(int i=0;i<n;i++)
        {
            if(ans[i]>='A' && ans[i]<='Z') 
            { 
                ans[i] = (char) (ans[i]+32);
            } 
            else if(ans[i]>='a' && ans[i]<='z') 
            { 
                ans[i] = (char) (ans[i]-32); 
            }
        }
        for(int i=0;i<n;i++)
        {
            System.out.print(ans[i]);
        }
        System.out.println();
    } 
}
AbCd#aB12
aBcD#Ab12

के लिए जटिलता विश्लेषण एक स्ट्रिंग में सभी वर्ण टॉगल करें

समय जटिलता

पर) जहाँ n दिए गए तार का आकार है। यहां हम सिर्फ पूरे स्ट्रिंग को पार करते हैं और निरंतर समय में कुछ ऑपरेशन करते हैं।

अंतरिक्ष जटिलता

ओ (1) क्योंकि हम ऑपरेशन करने के लिए किसी अतिरिक्त स्थान का उपयोग नहीं करते हैं।

संदर्भ