43 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Is Subsequence

Sizga ikkita s va t satrlar berilgan. Agar s satri t satrining qism-satri bo'lsa true qaytaring, aks holda false.

Satrning qism-satri (subsequence) bu boshqa satrdan ba'zi belgilarni o'chirish (yoki o'chirmaslik) orqali hosil bo'ladigan yangi satrdir, bunda qolgan belgilarni o'zaro joylashuv tartibi o'zgarmasligi kerak (masalan, "ace" satri "abcde" ning qism-satri, lekin "aec" emas).

example.go
func solve(s string, t string) bool {
    // ...
}

Misollar

kod
Input: s = "abc", t = "ahbgdc"
Output: true
kod
Input: s = "axc", t = "ahbgdc"
Output: false
kod
Input: s = "", t = "ahbgdc"
Output: true
kod
Input: s = "abc", t = "ab"
Output: false

Maslahatlar

  1. Ikkita ko'rsatkich bilan bir vaqtda ikkala satrni aylanib borishni o'ylang (two pointers).
  2. t'ni bitta ko'rsatkich bilan aylaning; s'ning joriy belgisi t'dagi belgi bilan mos kelsa, s ko'rsatkichini oldinga siljiting; oxirida s ko'rsatkichi s uzunligiga yetgan bo'lsa, u qism-satr.