เราได้รับสตริง str[] และตัวเลข n เป้าหมายคือการค้นหาสตริงย่อยทั้งหมดของ str[] ที่มีความยาว n หากสตริงคือ "abcde" และ n=3 สตริงย่อยที่มีความยาว 3 คือ "abc", "bcd", "cde" และจำนวนจะเป็น 3
ให้เราเข้าใจด้วยตัวอย่าง
ป้อนข้อมูล − str[] =“คอมพิวเตอร์” n=4
ผลผลิต − จำนวนสตริงย่อยที่มีความยาว n ที่เป็นไปได้จากสตริงที่กำหนดคือ − 5
คำอธิบาย − สตริงย่อยที่มีความยาว 4 ได้แก่:“comp”, “ompu”,”mput”, “pute”, “uter”
ป้อนข้อมูล − str[] =“พัฒนาการ” n=5
ผลผลิต − จำนวนสตริงย่อยของความยาว n ที่เป็นไปได้จากสตริงที่กำหนดคือ − 7
คำอธิบาย − สตริงย่อยที่มีความยาว 5 ได้แก่ "devel", "evelo", "velop", "elopm", "lopme", "opmen", "pment"
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
หากเราใช้ความยาวของสตริง str[] เป็น L การนับสตริงย่อยของความยาว n ภายใน str[] คือ Ln+1 หากสตริงคือ "abcdefghi" และ n คือ 4 สตริงย่อยจะเป็น "abcd", "bcde", "cdef", "defg", "efgh", "fghi" นับเป็น 6 9-4+1=6 ด้วย
-
ใช้สตริง str.
-
ใช้ n เป็นจำนวนเต็ม
-
ฟังก์ชัน possible_substring(string str, int length, int n) รับค่า string, it's length, n และคืนค่าจำนวนสตริงย่อยของ str ที่มีความยาว n
-
นับตัวแปร
-
ตั้งนับ =length-n+1.
-
ผลตอบแทนนับเป็นผลลัพธ์ในตอนท้าย
ตัวอย่าง
#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; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Count of substrings of length n possible from the given string are: 7