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

Tìm số chuỗi con của một chuỗi có mặt trong chuỗi khác bằng cách sử dụng C ++

Trong bài viết này, chúng ta được cung cấp hai chuỗi và chúng ta cần tìm xem có bao nhiêu chuỗi con của chuỗi thứ nhất có thể được tìm thấy trong chuỗi thứ 2 (chuỗi con chính xác có thể xuất hiện nhiều lần). Ví dụ

Input : string1 = “fogl”
   string2 = “google”
Output : 6
Explanation : substrings of string1 present in string2 are [ “o”, “g”, “l”, “og”, “gl”,
“ogl” ].

Input : string1 = “ajva”
   string2 = “java”
Output : 5
Explanation : substrings of string1 present in string2 are [ “a”, “j”, “v”, “a”, “va” ].

Phương pháp tiếp cận để tìm ra giải pháp

Hãy thảo luận về cách chúng ta có thể giải quyết vấn đề này khi tìm một số chuỗi con hiện diện trong một chuỗi khác; nhìn vào các ví dụ; chúng tôi hiểu rằng trước tiên, chúng tôi phải xem tất cả các chuỗi con của string1 và sau đó chúng tôi phải kiểm tra từng chuỗi con xem nó có xuất hiện trong một chuỗi khác hay không, Nếu có thì tăng bộ đếm và sau khi vận hành toàn bộ chuỗi, hãy kiểm tra kết quả được lưu trữ trong bộ đếm .

Mã C ++ cho cách tiếp cận trên

Đây là cú pháp C ++ mà chúng ta có thể sử dụng làm đầu vào để giải quyết vấn đề đã cho -

Ví dụ

#include<iostream>
#include<string>
using namespace std;

int main() {
   string str1 = "ajva";
   string str2 = "java";
   int count = 0;// counter to store result
   int n = str1.length();

   for (int i = 0; i < n; i++) {

      string str3; // string3 is initialised to store all substrings of string1
      for (int j = i; j < n; j++) {
         str3 += str1[j];

         // checking whether substring present in another string or not
         if (str2.find(str3) != string::npos)
            count++;
      }
   }
   cout << "Number of substrings of one string present in other : "<< count;
   return 0;
}

Đầu ra

Number of substrings of one string present in other : 5

Hiểu mã

Đầu tiên, trong đoạn mã này, chúng tôi đang đưa giá trị cho cả các chuỗi và khởi tạo bộ đếm bằng 0. Chúng tôi sẽ xem qua toàn bộ chuỗi và tìm tất cả các chuỗi con có thể có của str1 và lưu trữ chúng trong str3. Sau đó, chúng tôi kiểm tra từng chuỗi con của str1, cho dù có trong str2 hay không; nếu có, sau đó tăng bộ đếm lên 1 và cuối cùng chúng tôi in kết quả đầu ra được lưu trữ trong biến bộ đếm.

Kết luận

Bài viết này tìm ra giải pháp đơn giản để tìm số chuỗi con của một chuỗi có trong chuỗi khác. Chúng ta có thể viết cùng một chương trình bằng các ngôn ngữ khác như C, java, python và các ngôn ngữ khác. Chúng tôi hy vọng bạn thấy bài viết này hữu ích.