ETH官方钱包

前往
大廳
主題

LeetCode - 2947. Count Beautiful Substrings I 解題心得

Not In My Back Yard | 2025-01-18 12:00:23 | 巴幣 2 | 人氣 25

題目連結(jié):


題目意譯:
你被給定一個字串 s 以及一個正整數(shù) k。

令 vowels 和 consonants 為一個字串中母音和子音的數(shù)量。

一個字串是「美麗的」,代表著:
    vowels == consonants、
    (vowels × consonants) % k == 0,即 vowels 與 consonants 的乘積可以被 k 整除。

回傳給定的字串 s 中美麗的非空子字串之?dāng)?shù)量。

一個子字串為一個字串中連續(xù)的字元序列。

英文母音為 'a' 、 'e' 、 'i' 、 'o' 和 'u'。

英文子音為母音以外的字母。

限制:
1 ≦ s.length ≦ 1000
1 ≦ k ≦ 1000
s 只由小寫英文字母組成。



範(fàn)例測資:
範(fàn)例 1:
輸入: s = "baeyh", k = 2
輸出: 2
解釋: 有 2 個美麗的子字串在給定的字串中。
- 子字串 "baeyh",vowels = 2 (["a",e"]) 、 consonants = 2 (["y","h"])。
你可以看到字串 "aeyh" 是美麗的,因為 vowels == consonants and vowels × consonants % k == 0。
- 子字串 "baeyh",vowels = 2 (["a",e"]) 、 consonants = 2 (["b","y"])。
你可以看到字串 "baey" 是美麗的,因為 vowels == consonants and vowels × consonants % k == 0。
可以證明給定的字串中只有 2 個美麗的子字串。

範(fàn)例 2:
輸入: s = "abba", k = 1
輸出: 3
解釋: 有 3 個美麗的子字串在給定的字串中。
- 子字串 "abba",vowels = 1 (["a"]) 、 consonants = 1 (["b"])。
- 子字串 "abba",vowels = 1 (["a"]) 、 consonants = 1 (["b"])。
- 子字串 "abba",vowels = 2 (["a","a"]) 、 consonants = 2 (["b","b"])。
可以證明給定的字串中只有 3 個美麗的子字串。

範(fàn)例 3:
輸入: s = "bcdf", k = 1
輸出: 0
解釋: 沒有美麗的子字串在給定的字串中。


解題思維:
由於 s 的長度最長也才 1000。因此直接窮舉每一個子字串並檢查即可(注意,同一個開頭的子字串可以一起窮舉)。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。
追蹤 創(chuàng)作集

作者相關(guān)創(chuàng)作

更多創(chuàng)作