สมมติว่าเรามีสตริง S ที่มี n หลัก หมายเลขที่มี 11 หลักคือหมายเลขโทรศัพท์หากขึ้นต้นด้วย '8' ในการดำเนินการครั้งเดียว เราสามารถลบตัวเลขหนึ่งหลักออกจาก S ได้ เราต้องตรวจสอบว่าเราสามารถทำให้สตริงเป็นหมายเลขโทรศัพท์ที่ถูกต้องได้หรือไม่
ดังนั้น หากอินพุตเป็น S ="5818005553985" ผลลัพธ์จะเป็น True เพราะเราสามารถสร้างสตริง "8005553985" ได้ 11 อักขระและหลักแรกคือ 8
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
m := size of S insert '8' at the end of S if if location of 8 <= (m - 11), then: return true return false
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
int m = S.size();
S.push_back('8');
if ((int(S.find('8')) <= (m - 11)))
return true;
return false;
}
int main(){
string S = "5818005553985";
cout << solve(S) << endl;
} อินพุต
"5818005553985"
ผลลัพธ์
1