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

C++ में स्ट्रिंग को पालिंड्रोम बनाने के लिए आवश्यक न्यूनतम ऐपेंड


समस्या विवरण

एक स्ट्रिंग दी गई है, स्ट्रिंग को पालिंड्रोम बनाने के लिए जोड़े जाने वाले न्यूनतम कैरेक्टर्स ढूंढें।

उदाहरण

यदि स्ट्रिंग abcac है तो हम 2 हाइलाइट किए गए कैरेक्टर्स जोड़कर स्ट्रिंग को पालिंड्रोम बना सकते हैं यानी abcacba

एल्गोरिदम

  • जांचें कि क्या स्ट्रिंग पहले से पालिंड्रोम है, यदि हां तो किसी कैरेक्टर को जोड़ने की आवश्यकता नहीं है।
  • स्ट्रिंग से एक-एक करके कैरेक्टर हटाएं और जांचें कि क्या शेष स्ट्रिंग पालिंड्रोम है या नहीं
  • उपरोक्त प्रक्रिया को तब तक दोहराएं जब तक स्ट्रिंग पालिंड्रोम न बन जाए
  • अब तक हटाए गए कैरेक्टर्स की संख्या को अंतिम उत्तर के रूप में लौटाएं

उदाहरण

#include <iostream> 
#include <cstring> 
using namespace std; 

bool isPalindrome(char *str) { 
    int n = strlen(str); 
    if (n == 1) { 
        return true; 
    } 
    int start = 0, end = n - 1; 
    while (start < end) { 
        if (str[start] != str[end]) { 
            return false; 
        } 
        ++start; 
        --end; 
    } 
    return true; 
} 

int requiredAppends(char *str) { 
    if (isPalindrome(str)) { 
        return 0; 
    } 
    return 1 + requiredAppends(str + 1); 
} 

int main() { 
    char *str = "abcac"; 
    cout << "Characters to be appended = " << requiredAppends(str) << endl; 
    return 0; 
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को कंपाइल और एक्जीक्यूट करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है:

Characters to be appended = 2

  1. - C++ में स्ट्रिंग को पालिंड्रोम बनाने के लिए न्यूनतम विलोपन

    समस्या कथन आकार n की एक स्ट्रिंग दी गई है। स्ट्रिंग को पालिंड्रोम बनाने के लिए न्यूनतम वर्णों को हटाने का कार्य है। यदि दी गई स्ट्रिंग abcda है, तो हम पहले और अंतिम को छोड़कर किन्हीं 2 वर्णों को हटा सकते हैं ताकि यह पालिंड्रोम बन जाए। यदि हम b और c हटाते हैं तो ada स्ट्रिंग पालिंड्रोम है यद

  1. - C++ में जांचें कि संख्या पैलिंड्रोम है या नहीं

    यहां हम देखेंगे कि कैसे जांचें कि कोई संख्या पैलिंड्रोम है या नहीं। पैलिंड्रोम संख्याएं दोनों दिशाओं में समान होती हैं। उदाहरण के लिए, संख्या 12321 एक पैलिंड्रोम है, लेकिन 12345 पैलिंड्रोम नहीं है।तर्क बहुत सीधा है। हमें संख्या को उल्टा करना होगा, और यदि उल्टी संख्या वास्तविक संख्या के समान है, तो व

  1. - पायथन में स्ट्रिंग को पैलिंड्रोम बनाने के लिए आवश्यक न्यूनतम वर्णों की जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक स्ट्रिंग s है, हमें सम्मिलित किए जाने वाले न्यूनतम वर्णों की संख्या ढूंढनी है ताकि स्ट्रिंग पैलिंड्रोम बन जाए।इसलिए, यदि इनपुट s = mad जैसा है, तो आउटपुट 2 होगा, क्योंकि हम am सम्मिलित करके madam प्राप्त कर सकते हैं।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −एक फ़ंक