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

C++ में K पैलिंड्रोम स्ट्रिंग्स का निर्माण


मान लीजिए हमारे पास एक स्ट्रिंग s और एक संख्या k है। हमें s के सभी वर्णों का उपयोग करके k गैर-रिक्त पैलिंड्रोम स्ट्रिंग्स का निर्माण करना है। यहां हमें जांचना है कि क्या हम s के सभी वर्णों का उपयोग करके k पैलिंड्रोम स्ट्रिंग्स बना सकते हैं या नहीं।

उदाहरण के लिए, यदि इनपुट "true" है और k = 4, तो आउटपुट True होगा, क्योंकि एकमात्र संभावित समाधान प्रत्येक वर्ण को एक अलग स्ट्रिंग में रखना है।

हल करने की विधि

हम निम्न चरणों का पालन करेंगे:

  • n = s का आकार।
  • यदि n < k, तो false लौटाएं।
  • यदि n == k, तो true लौटाएं।
  • एक मैप परिभाषित करें और प्रत्येक वर्ण की आवृत्ति गिनें।
  • odd = 0 प्रारंभ करें।
  • मैप के प्रत्येक कुंजी-मान युग्म के लिए, odd में (मान AND 1) जोड़ें।
  • यदि odd <= k तो true लौटाएं, अन्यथा false।

उदाहरण

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

#include <bits/stdc++.h> using namespace std; class Solution { public:    bool canConstruct(string s, int k) {       int n = s.size();       if (n < k)          return false;       if (n == k)          return true;       map<char, int> m;       for (char c : s)          m[c]++;       int odd = 0;       for (auto& it : m) {          odd += (it.second & 1);       }       return odd <= k;    } }; main(){    Solution ob;    cout << (ob.canConstruct("true",4)); }

इनपुट

"true"

आउटपुट

1

  1. - C++ में n बाइनरी स्ट्रिंग्स जोड़ना

    यहां हम देखेंगे कि n बाइनरी संख्याओं को स्ट्रिंग के रूप में जोड़ने वाला प्रोग्राम कैसे लिखें। आसान तरीका है बाइनरी स्ट्रिंग को उसके दशमलव समतुल्य में बदलना, फिर उन्हें जोड़ना और वापस बाइनरी में बदलना। यहां हम मैन्युअली जोड़ करेंगे। एल्गोरिदम addTwoBinary(bin1, bin2) = 0 then s := s + bi

  1. - C++ में स्ट्रिंग्स की सरणी

    इस खंड में हम देखेंगे कि C++ में स्ट्रिंग्स की सरणी को कैसे परिभाषित किया जाए। जैसा कि हम जानते हैं कि C में कोई स्ट्रिंग्स नहीं थीं। हमें कैरेक्टर सरणी का उपयोग करके स्ट्रिंग्स बनानी पड़ती थीं। इसलिए कुछ स्ट्रिंग्स की सरणी बनाने के लिए, हमें कैरेक्टर्स की 2-आयामी सरणी बनानी पड़ती थी। प्रत्येक पंक्

  1. - C++ में स्ट्रिंग्स का ऐरे

    C++ में स्ट्रिंग कीवर्ड का उपयोग करके स्ट्रिंग्स का ऐरे बनाया जा सकता है। यहां हम इस दृष्टिकोण का उपयोग करके एक C++ प्रोग्राम पर चर्चा कर रहे हैं। एल्गोरिदम Begin स्ट्रिंग कीवर्ड द्वारा ऐरे के तत्वों को इनिशियलाइज़ करें। और स्ट्रिंग को इनपुट के रूप में लें। ऐरे प्रिंट करें। End. उदाहरण को