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

उप-सरणी की अधिकतम लंबाई जिसका पहला और अंतिम तत्व C++ में समान हैं

इस समस्या में, हमें वर्णों की एक सरणी दी जाती है। हमारा काम उप-सरणी की अधिकतम लंबाई को प्रिंट करने के लिए एक प्रोग्राम बनाना है जिसका पहला और अंतिम तत्व C++ में समान हैं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट - सरणी ={'t', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i' ', 'एन', 'टी'}

आउटपुट − 14

स्पष्टीकरण -

उपसरणी {'t', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i' , 'n', 't' } t से शुरू और खत्म होता है।

इस समस्या को हल करने के लिए, हम पहली और आखिरी घटना को सरणी में एक वर्ण पाते हैं और फिर सूत्र का उपयोग करते हैं -

सबअरे लंबाई =lastOccurrence - firstOccurrence + 1

हम सभी परिणामों की अधिकतम लंबाई पाएंगे।

समाधान को समझने के लिए एक उदाहरण हल करते हैं,

ऐरे ={ए, बी, ए, सी, बी, ए}

तत्व a , सूचकांक 0 पर पहली घटना, सूचकांक 5 पर अंतिम घटना

सबरे की लंबाई =5 - 0 + 1=4

अधिकतम लम्बाई =6

तत्व b , अनुक्रमणिका 1 पर प्रथम घटना, अनुक्रमणिका 4 पर अंतिम घटना

सबरे की लंबाई =4 - 1 + 1 =4

अधिकतम लम्बाई =6

उदाहरण

उपसरणी की अधिकतम लंबाई को प्रिंट करने का कार्यक्रम जिसके पहले और अंतिम तत्व समान हैं -

#include <iostream>
using namespace std;
int maxSubArrLength(string arr, int n){
   int firstOccurrence, lastOccurrence = -1;
   int maxlength = 0;
   char ch;
   for (int i = 0; i < n; i++){
      ch = arr[i];
      firstOccurrence = lastOccurrence = i;
      for(int j = i; j<n; j++){
         if(arr[j] == ch)
            lastOccurrence = j;
      }
      maxlength = max(maxlength, (lastOccurrence - firstOccurrence + 1));
   }
   return maxlength;
}
int main(){
   string arr = "tutorialsPoint";
   int n = arr.length();
   cout<<"The maximum length of subarray whose first and last elements are same is "<<maxSubArrLength(arr, n);
   return 0;
}

आउटपुट

The maximum length of subarray whose first and last elements are same is 14

  1. ज्ञात कीजिए कि क्या कोई संख्या AP का भाग है जिसका प्रथम अवयव और अंतर C++ का प्रयोग करके दिया गया है।

    मान लीजिए हमारे पास एपी का पहला तत्व है, और अंतर है। हमें यह जांचना है कि दी गई संख्या n AP का भाग है या नहीं। यदि पहला पद a =1 है, तो अंतर =3 है, और पद x =7 की जाँच की जाएगी। इसका उत्तर हां है। इस समस्या को हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि d 0 है, और a =x है, तो सही लौटें, अन्यथा

  1. अधिकतम धनात्मक पूर्णांक C से विभाज्य है और C++ में [A, B] श्रेणी में है

    यहां हम एक दिलचस्प समस्या देखेंगे। आइए मान लें कि हमारे पास तीन पूर्णांक ए, बी, और सी हैं। हमें एक न्यूनतम पूर्णांक एक्स ढूंढना है, जैसे कि एक्स मॉड सी =0, और एक्स [ए, बी] की सीमा में नहीं है। यदि A, B और C के मान क्रमशः 5, 10 और 4 हैं, तो X का मान 4 होगा। हल प्राप्त करने के लिए हमें इन चरणों का पाल

  1. सी ++ प्रोग्राम यह जांचने के लिए कि स्ट्रिंग के पहले और आखिरी अक्षर बराबर हैं या नहीं

    स्ट्रिंग के इनपुट के साथ दिया गया और कार्य यह जांचना है कि दिए गए स्ट्रिंग के पहले और अंतिम वर्ण बराबर हैं या नहीं। उदाहरण Input-: study Output-: not equal    As the starting character is ‘s’ and the end character of a string is ‘y’ Input-: nitin Output-: yes it hav