Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ชื่อแบบยาวในภาษา C++


สมมติว่าชายคนหนึ่งกำลังพิมพ์ชื่อบนแป้นพิมพ์ บางครั้งปุ่มบางปุ่มถูกกดค้างไว้โดยไม่ได้ตั้งใจ ดังนั้นจึงอาจพิมพ์อักขระพิเศษได้ตั้งแต่หนึ่งตัวขึ้นไป ดังนั้นเราจะเอาสองสตริงและตรวจสอบว่าสตริงที่สองเป็นชื่อแบบยาวหรือไม่ ดังนั้นหากชื่อ "Amit" และสตริงที่สองคือ "Ammitt" จะเป็นชื่อแบบยาว แต่ “Ammttt” ไม่ใช่เพราะไม่มีตัวละครฉันอยู่ที่นี่

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ให้ j :=0
  • สำหรับ i :=0, i
  • ถ้า j
  • คืนค่า จริง เมื่อ j =actual_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