נתונות מחרוזת תווים str ומחרוזת תווים pattern.
יש להחזיר את מספר הפעמים שמחרוזת pattern מופיעה בתוך המחרוזת str כתת-סדרה. שימו לב שהמחרוזת pattern לא צריכה להופיע ברציפות בתוך str.
לדוגמא,
אם המחרוזת str = "subsequence" והמחרוזת pattern = "sue"
אז יוחזר 7 שכן המחרוזת "sue" נמצאת 7 פעמים כתת-סדרה במחרוזת "subsequence"
כמפורט להלן:
1. subsequence 2. subsequence 3. subsequence
4. subsequence
5. subsequence 6. subsequence 7. subsequence
השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.
String המותרות לשימוש:
public char charAt(int i) - המחזירה את התו במקום ה-i במחרוזת.public int length() - המחזירה את אורך המחרוזת.str = "subsequence", pattern = "sue"
7
הסבר: המחרוזת "sue" מופיעה 7 פעמים כתת-סדרה במחרוזת "subsequence".
str = "abc", pattern = "abc"
1
הסבר: המחרוזת "abc" מופיעה פעם אחת כתת-סדרה במחרוזת "abc".
str = "abc", pattern = "xyz"
0
הסבר: המחרוזת "xyz" לא מופיעה כתת-סדרה במחרוזת "abc".
str = "hello", pattern = ""
1
הסבר: מחרוזת ריקה מופיעה פעם אחת כתת-סדרה בכל מחרוזת.
str = "aabb", pattern = "ab"
4
הסבר: המחרוזת "ab" מופיעה 4 פעמים כתת-סדרה במחרוזת "aabb".
str = "aaaa", pattern = "aa"
6
הסבר: המחרוזת "aa" מופיעה 6 פעמים כתת-סדרה במחרוזת "aaaa".
str = "abaca", pattern = "a"
3
הסבר: התו 'a' מופיע 4 פעמים במחרוזת "abaca".
str = "", pattern = "a"
0
הסבר: אם המחרוזת הראשית ריקה והתבנית לא ריקה, התוצאה היא 0.
קלט:
str = "subsequence", pattern = "sue"
הפלט המבוקש:
7