मान लीजिए कोई आदमी कीबोर्ड पर कुछ नाम टाइप कर रहा है। कभी-कभी कुछ बटन गलती से लंबे समय तक दबाए जाते हैं। तो यह एक या अधिक अतिरिक्त वर्ण टाइप कर सकता है। तो हम दो तार लेंगे, और जांचेंगे कि दूसरी स्ट्रिंग लंबे समय से दबाया गया नाम है या नहीं। तो यदि नाम "अमित" है, और दूसरी स्ट्रिंग "अम्मिट" है तो लंबे समय तक नाम है। लेकिन "अमट्ट" नहीं है, क्योंकि चरित्र मैं यहाँ मौजूद नहीं है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- चलो जे:=0
- i :=0 के लिए, i <दूसरा आकार, i को 1 से बढ़ाएं -
- अगर j
- अगर j
- सही लौटें जब j =real_name.size, अन्यथा असत्य
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#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