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

C++ में दी गई लंबाई के सबस्ट्रिंग में स्वरों की अधिकतम संख्या

मान लीजिए कि हमारे पास एक स्ट्रिंग s और एक पूर्णांक k है। हमें k लंबाई वाले s के किसी भी विकल्प में स्वर अक्षरों की अधिकतम संख्या ज्ञात करनी है।

इसलिए, यदि इनपुट s ="abciiidef", k =3 जैसा है, तो आउटपुट 3

होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • सीएनटी:=0

  • एक सेट को परिभाषित करें मी

  • प्रत्येक स्वर v के लिए, करें

    • v को m में डालें

  • रिट:=0

  • इनिशियलाइज़ करने के लिए i :=0, जब i

    • cnt :=cnt + (1 जब s[i] m में हो, अन्यथा 0)

  • ret :=अधिकतम रिट और cnt

  • n :=s का आकार

  • इनिशियलाइज़ करने के लिए i :=k, जब i

    • यदि s[i - k] m का सदस्य है, तो -

      • (cnt 1 से घटाएं)

    • cnt :=cnt + (1 जब s[i] m में हो, अन्यथा 0)

    • ret :=अधिकतम रिट और cnt

  • वापसी रिट

उदाहरण

आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   int maxVowels(string s, int k) {
      int cnt = 0;
      set<char> m;
      for (auto it : { 'a', 'e', 'i', 'o', 'u' })
      m.insert(it);
      int ret = 0;
      for (int i = 0; i < k; i++) {
         cnt += m.count(s[i]) ? 1 : 0;
      }
      ret = max(ret, cnt);
      int n = s.size();
      for (int i = k; i < n; i++) {
         if (m.count(s[i - k])) {
            cnt--;
         }
         cnt += m.count(s[i]) ? 1 : 0;
         ret = max(ret, cnt);
      }
      return ret;
   }
};
main(){
   Solution ob;
   cout << (ob.maxVowels("abciiidef",3));
}

इनपुट

"abciiidef",3

आउटपुट

3

  1. सी ++ पथ लंबाई जिसमें अधिकतम संख्या में मोड़ हैं

    एक समस्या को हल करने के लिए जिसमें हमें एक बाइनरी ट्री दिया जाता है। अब हमें उस पथ को खोजने की आवश्यकता है जिसमें अधिकतम संख्या में मोड़ हों। यानी, एक मोड़ तब माना जाता है जब पथ की दिशा बाएं से दाएं या इसके विपरीत बदलती है, उदाहरण के लिए इनपुट - आउटपुट - 6 अब इस दृष्टिकोण में, हम पेड़ से गुजरें

  1. C++ में दी गई संख्या का बाइनरी प्रतिनिधित्व

    एक बाइनरी नंबर एक संख्या है जिसमें केवल दो अंक 0 और 1 होते हैं। उदाहरण के लिए, 01010111। किसी दिए गए नंबर को बाइनरी रूप में दर्शाने के कई तरीके हैं। पुनरावर्ती विधि इस विधि का उपयोग किसी संख्या को उसके द्विआधारी रूप में प्रत्यावर्तन का उपयोग करके दर्शाने के लिए किया जाता है। एल्गोरिदम Step 1 : if

  1. जाँच करें कि क्या दी गई संख्या C++ में Pronic है

    यहां हम देखेंगे कि कैसे जांचा जाता है कि कोई नंबर प्रोनिक नंबर है या नहीं। एक संख्या जिसे आयत बनाने के लिए व्यवस्थित किया जा सकता है, प्रोनिक नंबर कहलाती है। पहले कुछ सर्वनाम संख्याएँ हैं:0, 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342। लगातार दो पूर्णांक। तो एक सर्व