Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm chuỗi con có độ dài n có thể có từ chuỗi đã cho trong C ++

Chúng ta được cung cấp một chuỗi str [] và một số n. Mục đích là tìm tất cả các chuỗi con của str [] có độ dài n. Nếu chuỗi là “abcde” và n =3 thì các chuỗi con có độ dài 3 là “abc”, “bcd”, “cde” và số đếm là 3.

Hãy cho chúng tôi hiểu với các ví dụ.

Đầu vào - str [] =“máy tính” n =4

Đầu ra - Số chuỗi con có độ dài n có thể có từ chuỗi đã cho là - 5

Giải thích - Các chuỗi con có độ dài 4 là:“comp”, “ompu”, “mput”, “pute”, “death”

Đầu vào - str [] =“phát triển” n =5

Đầu ra - Đếm chuỗi con có độ dài n có thể có từ chuỗi đã cho là - 7

Giải thích - Các chuỗi con có độ dài 5 là:“devel”, “evelo”, “velop”, “elopm”, “lopme”, “opmen”, “pment”.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

Nếu chúng ta lấy độ dài của chuỗi str [] là L thì số chuỗi con có độ dài n bên trong str [] là Ln + 1. Nếu chuỗi là “abcdefghi” và n là 4 thì các chuỗi con sẽ là “abcd”, “bcde”, “cdef”, “defg”, “efgh”, “fghi”. Số đếm là 6. Ngoài ra 9-4 + 1 =6.

  • Lấy một chuỗi str.

  • Lấy n là số nguyên.

  • Hàm could_substring (string str, int length, int n) nhận một chuỗi, nó là độ dài, n và trả về số lượng các chuỗi con của str có độ dài n.

  • Thực hiện một số lượng biến.

  • Đặt số lượng =length-n + 1.

  • Kết quả trả về là kết quả cuối cùng.

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int possible_substring(string str, int length, int n){
   int count = length - n + 1;
   return count;
}
int main(){
   string str = "learning";
   int length = str.length();
   int n = 2;
   cout<<"Count of substrings of length n possible from the given string are: "<<possible_substring(str, length, n);
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Count of substrings of length n possible from the given string are: 7