Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đếm số chuỗi con theo thứ tự bảng chữ cái trong C++


Giả sử có chuỗi độ dài n chỉ chứa chữ hoa. Tìm số chuỗi con có ký tự xuất hiện theo thứ tự bảng chữ cái. Kích thước nhỏ nhất của chuỗi con là 2. Nếu chuỗi "REFJHLMNBV", số chuỗi con là 2: "EF" và "MN".

Để giải quyết, làm theo các bước:

  • Kiểm tra str[i] + 1 có bằng str[i+1] không, nếu có tăng kết quả 1, và lặp chuỗi cho đến ký tự tiếp theo không theo thứ tự bảng chữ cái, ngược lại tiếp tục.

Ví dụ mã nguồn

#include<iostream> using namespace std; int countSubstr(string main_str) {    int res = 0;    int n = main_str.size();    for (int i = 0; i < n - 1; i++) {       if (main_str[i] + 1 == main_str[i + 1]) {          res++;          while (main_str[i] + 1 == main_str[i + 1]) {             i++;          }       }    }    return res; } int main() {    string str = "REFJHLMNBV";    cout << "Number of substrings: " << countSubstr(str); }

Kết quả

Number of substrings: 2