สมมติว่าเรามีสตริง 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