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

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

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

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

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

  • n :=s का आकार

  • यदि n

    • झूठी वापसी

  • यदि n, k के समान है, तो -

    • सही लौटें

  • एक मानचित्र परिभाषित करें

  • प्रत्येक वर्ण c के लिए s

    • (m[c] 1 से बढ़ाएं)

  • विषम :=0

  • प्रत्येक की-वैल्यू पेयर के लिए इसे m -

    . में जोड़ें
    • विषम :=विषम + (इसका मान और 1)

  • विषम <=k, अन्यथा असत्य होने पर सत्य लौटें

उदाहरण

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

#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 बाइनरी नंबरों को जोड़ सकता है। आसान तरीका है बाइनरी स्ट्रिंग को उसके दशमलव समकक्ष में बदलना, फिर उन्हें जोड़ना और फिर से बाइनरी में कनवर्ट करना। यहां हम जोड़ मैन्युअल रूप से करेंगे। हम दो बाइनरी स्ट्रिंग्स जोड़ने

  1. सी ++ स्ट्रिंग्स की सरणी

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

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

    स्ट्रिंग कीवर्ड का उपयोग करके C++ में स्ट्रिंग्स की सरणी बनाई जा सकती है। यहां हम इस दृष्टिकोण का उपयोग करके C++ प्रोग्राम पर चर्चा कर रहे हैं। एल्गोरिदम Begin Initialize the elements of array by string keyword. And take string as input. Print the array. End. उदाहरण कोड #include<iostream>