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

C++-এ লং প্রেসড নেম সমস্যা


মান করুন একজন ব্যক্তি কীবোর্ডে কিছু নাম টাইপ করছেন। কখনও কখনও কিছু বাটন ভুলে লং প্রেস হয়ে যায়। ফলে এক বা একাধিক এক্সট্রা ক্যারেক্টার টাইপ হয়ে যেতে পারে। তাই আমরা দুটি স্ট্রিং নিব এবং চেক করব যে দ্বিতীয় স্ট্রিংটি লং প্রেসড নেম কিনা। যেন যদি নাম "Amit" হয়, এবং দ্বিতীয় স্ট্রিং "Ammittt" হয় তবে সেটি লংপ্রেসড নেম। কিন্তু "Ammttt" নয়, কারণ এখানে i ক্যারেক্টার অনুপস্থিত।

এটি সমাধান করার জন্য, আমরা নিচের ধাপগুলো অনুসরণ করব:

  • j := 0
  • i := 0, i < second.size, i++:
    • যদি j < actual_name.size এবং actual_name[j] = second[i], তবে j++
  • j = actual_name.size হলে true রিটার্ন করুন, অন্যথায় false

C++ উদাহরণ

#include <bits/stdc++.h> using namespace std; class Solution { public: bool isLongPressedName(string name, string typed) { int j = 0; for(int i = 0; i < typed.size(); i++){ if(j < name.size() && name[j] == typed[i])j++; } return j == name.size(); } }; main(){ Solution ob; string res = ob.isLongPressedName("Amit", "Ammittt") ? "true" : "false"; cout << res; }

ইনপুট

"Amit" "Ammittt"

আউটপুট

true
  1. সি++-এ নেমস্পেস (Namespace) কীভাবে ব্যবহার করবেন?

  2. C++-এ নেমস্পেস (Namespace)

  3. C++ STL-এ lldiv() ফাংশন: ভাগফল এবং বাকি পাওয়া

  4. C/C++-এ মডিফায়ার কেন ব্যবহার করি?