Giả sử chúng ta có một chuỗi S với n chữ số. Một số có chính xác 11 chữ số là số điện thoại, nó bắt đầu bằng '8'. Trong một thao tác, chúng ta có thể xóa một chữ số khỏi S. Chúng ta phải kiểm tra xem chúng ta có thể đặt chuỗi thành số điện thoại hợp lệ hay không.
Vì vậy, nếu đầu vào là S ="5818005553985", thì đầu ra sẽ là True, vì chúng ta có thể makethe chuỗi "8005553985" với 11 ký tự và chữ số đầu tiên là 8.
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
m := size of S insert '8' at the end of S if if location of 8 <= (m - 11), then: return true return false
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#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; }
Đầu vào
"5818005553985"
Đầu ra
1