কম্পিউটার টিউটোরিয়াল

C++-এ স্ট্রিংকে ভ্যালিড প্যারেনথেসিস बनाने মিনিমাম প্যারেনথেসিস যোগ করা


সমস্যা বিবরণ

প্যারেনথেসিসের একটি স্ট্রিং দেওয়া আছে। এতে ওপেনিং প্যারেনথেসিস '(' বা ক্লোজিং প্যারেনথেসিস ')' থাকতে পারে। আমাদের মিনিমাম সংখ্যক প্যারেনথেসيس বের করতে হবে যাতে রেজাল্টিং প্যারেনথেসিস স্ট্রিংটি ভ্যালিড হয়।

উদাহরণ

যদি str = "((()" হয়, তবে স্ট্রিংয়ের শেষে ২টি ক্লোজিং প্যারেনথেসিস '))' যোগ করা দরকার।

অ্যালগরিদম

  • ওপেনিং প্যারেনথেসিস কাউন্ট করুন
  • ক্লোজিং প্যারেনথেসিস কাউন্ট করুন
  • রিকোয়ার্ড প্যারেনথেসিস = abs(ওপেনিং প্যারেনথেসিস সংখ্যা - ক্লোজিং প্যারেনথেসিস সংখ্যা)

উদাহরণ

#include <iostream> 
#include <string> 
#include <cmath> 
using namespace std; 

int requiredParentheses(string str) { 
    int openingParentheses = 0, closingParentheses = 0; 
    for (int i = 0; i < str.length(); ++i) { 
        if (str[i] == '(') { 
            ++openingParentheses; 
        } else if (str[i] == ')') { 
            ++closingParentheses; 
        } 
    } 
    return abs(openingParentheses - closingParentheses); 
} 

int main() { 
    string str = "((()"; 
    cout << "Required parentheses = " << requiredParentheses(str) << endl; 
    return 0; 
}

যখন আপনি উপরের প্রোগ্রাম কম্পাইল ও এক্সিকিউট করবেন। এটি নিচের আউটপুট জেনারেট করবে:

Required parentheses = 2

  1. C++ ব্যবহার করে XOR সর্বোচ্চ করার জন্য ন্যূনতম এলিমেন্ট অপসারণ

  2. C++ ব্যবহার করে মেডিয়ান x করার জন্য অ্যারেতে যোগ করার ন্যূনতম এলিমেন্ট সংখ্যা

  3. C++ ব্যবহার করে স্ট্রিংকে প্যালিনড্রোম করার ন্যূনতম ডিলিশন সংখ্যা

  4. পাইথনে প্যারেনথেসিস ভ্যালিড করতে মিনিমাম অ্যাড করুন