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

सी ++ प्रोग्राम पैलिंड्रोम सबस्ट्रिंग के साथ स्ट्रिंग खोजने के लिए जिसकी लंबाई अधिकतम k . है

मान लीजिए कि हमारे पास दो संख्याएँ n और k हैं। आइए हम केवल तीन प्रकार के वर्णों 'ए', 'बी' और 'सी' के साथ एक स्ट्रिंग एस उत्पन्न करने का प्रयास कर रहे हैं। स्ट्रिंग S के सबस्ट्रिंग की अधिकतम लंबाई जो एक पैलिंड्रोम है जो k से अधिक नहीं है।

इसलिए, यदि इनपुट n =3 जैसा है; k =2, तो आउटपुट "आब" होगा, क्योंकि इसकी लंबाई 3 है और पैलिंड्रोम सबस्ट्रिंग "आ" है जिसकी लंबाई कम से कम 2 है। (अन्य उत्तर भी संभव हैं)।

कदम

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

S := a blank string
j := 0
for initialize i := 0, when i < n, update (increase i by 1), do:
   S := S concatenate (j + ASCII of 'a') as character
   j := (j + 1) mod 3
return S

उदाहरण

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

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

string solve(int n, int k) {
   string S = "";
   int j = 0;
   for (int i = 0; i < n; i++) {
      S += j + 'a';
      j = (j + 1) % 3;
   }
   return S;
}
int main() {
   int n = 3;
   int k = 2;
   cout << solve(n, k) << endl;
}

इनपुट

3, 2

आउटपुट

abc

  1. सी ++ प्रोग्राम एक स्ट्रिंग की लंबाई का पता लगाने के लिए

    एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। स्ट्रिंग की लंबाई शून्य वर्ण से पहले स्ट्रिंग में वर्णों की संख्या है। उदाहरण के लिए। char str[] = “The sky is blue”; Number of characters in the above string = 15 एक स्ट्रिंग की लंबाई ज्ञात करने के लिए एक

  1. पायथन में बिना पैलिंड्रोम के एम आकार के वर्णमाला के अक्षरों से बनी n लंबाई की स्ट्रिंग खोजने का कार्यक्रम

    इसलिए, यदि इनपुट n =2 m =3 जैसा है, तो आउटपुट 6 होगा क्योंकि m =3, इसलिए यदि अक्षर {x, y, z} हैं, तो हम स्ट्रिंग उत्पन्न कर सकते हैं जैसे:[xx,xy,xz ,yx,yy,yz,zx,zy,zz] लेकिन [xx,yy,zz] मान्य नहीं हैं इसलिए 6 तार हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - p :=10^9+7 यदि n 1 के समान है, त

  1. पायथन में एक स्ट्रिंग में सबसे लंबे समय तक दोहराए जाने वाले सबस्ट्रिंग की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक लोअरकेस स्ट्रिंग s है, हमें सबसे लंबे सबस्ट्रिंग की लंबाई ज्ञात करनी है जो s में कम से कम दो बार आती है। अगर हमें ऐसी स्ट्रिंग नहीं मिलती है, तो 0 पर लौटें। इसलिए, यदि इनपुट s =abdgoalputabdtypeabd जैसा है, तो आउटपुट 3 होगा, क्योंकि एक से अधिक बार होने वाला सबसे लंबा सबस्ट