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

n पुनरावृत्तियों के बाद प्राप्त बाइनरी स्ट्रिंग में i-वें इंडेक्स का वर्ण खोजें C++ प्रोग्रामिंग में

मान लीजिए हमारे पास एक बाइनरी स्ट्रिंग bin है। फिर इस पर n पुनरावृत्तियां लागू करें, और प्रत्येक पुनरावृत्ति में 0 01 बन जाता है और 1 10 बन जाता है, उसके बाद nवीं पुनरावृत्ति के बाद स्ट्रिंग में i-वें इंडेक्स का वर्ण। तो यदि बाइनरी स्ट्रिंग 101 है, और n = 2, और i = 3, तो पहली पुनरावृत्ति के बाद यह 100110 होगा, अगली पुनरावृत्ति में, यह 100101101001 होगा, तो i-वां इंडेक्स 1 रखता है।

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

  • n बार लूप चलाएं, और प्रत्येक पुनरावृत्ति में स्ट्रिंग पर एक और लूप चलाएं
    • बाइनरी स्ट्रिंग के प्रत्येक वर्ण को परिवर्तित करें, और यदि वह 0 है, तो 01 स्टोर करें या यदि वह 1 है, तो 10 को दूसरी अस्थायी स्ट्रिंग में स्टोर करें
    • आंतरिक लूप पूरा होने के बाद, अस्थायी स्ट्रिंग को बाइनरी स्ट्रिंग में स्टोर करें।
  • फिर i-वां इंडेक्स वापस करें।

उदाहरण

#include <iostream>
using namespace std;

char getCharacter(string bin_str, int n, int i) {
    string temp = "";
    for (int x = 0; x < n; x++) {
        for (int y = 0; y < bin_str.length(); y++) {
            if (bin_str[y] == '1')
                temp += "10";
            else
                temp += "01";
        }
        bin_str = temp;
        temp = "";
    }
    return bin_str[i];
}

int main() {
    int n = 2;
    string bin = "101";
    cout << 3 << "rd character is: " << getCharacter(bin, n, 3) << endl;
    cout << 9 << "th character is: " << getCharacter(bin, n, 9);
}

आउटपुट

3rd character is: 1 9th character is: 0

  1. C++ में बाइनरी ट्री के पत्ते खोजें - स्तर दर स्तर संग्रह C++ में बाइनरी ट्री के पत्ते खोजें - स्तर दर स्तर संग्रह

    समस्या विवरण मान लीजिए हमारे पास एक बाइनरी ट्री है। हम सभी पत्तियों को संग्रहित और हटाएंगे और तब तक दोहराएंगे जब तक ट्री खाली न हो जाए। उदाहरण के लिए, यदि इनपुट इस तरह का ट्री है: तो आउटपुट [[4,5,3],[2],[1]] होगा। समाधान दृष्टिकोण DFS का उपयोग करके प्रत्येक नोड की ऊंचाई (पत्तियों से दूरी) की गणन

  1. C++ का उपयोग करके ब्रैकेट की स्ट्रिंग में समान बिंदु खोजें C++ का उपयोग करके ब्रैकेट की स्ट्रिंग में समान बिंदु खोजें

    यहां हम देखेंगे कि ब्रैकेट की स्ट्रिंग में समान बिंदु कैसे प्राप्त करें। समान बिंदु वह सूचकांक I है, जिसके पहले खुलने वाले ब्रैकेट की संख्या उसके बाद बंद होने वाले ब्रैकेट की संख्या के बराबर होती है। मान लीजिए एक ब्रैकेट स्ट्रिंग है (()))(()()()))), यदि हम ध्यान से देखें, तो हम पा सकते हैं कि इंडेक

  1. - C++ में स्ट्रिंग में किसी कैरेक्टर की फ्रीक्वेंसी खोजने का प्रोग्राम

    एक स्ट्रिंग एक एक-आयामी कैरेक्टर सरणी है जो नल कैरेक्टर द्वारा समाप्त होती है। स्ट्रिंग में कैरेक्टर्स की फ्रीक्वेंसी वह संख्या है जितनी बार वे स्ट्रिंग में आते हैं। उदाहरण के लिए: स्ट्रिंग: Football is a sport उपरोक्त स्ट्रिंग में वर्ण o की फ्रीक्वेंसी 3 है किसी विशेष वर्ण की फ्रीक्वेंसी खोजने का ए