1935. Maximum Number of Words You Can Type | LeetCode

vc7-avatar-img
發佈於LeetCode
更新 發佈閱讀 3 分鐘

題目

https://leetcode.com/problems/maximum-number-of-words-you-can-type/description/?envType=daily-question&envId=2025-09-15

日期

2025/9/15

解法 1

  1. 把字串根據空格分割成陣列
  2. 用正規表達式判斷有沒有出現,沒有出現則可以 +1
class Solution {
func canBeTypedWords(_ text: String, _ brokenLetters: String) -> Int {
let group = text.split(separator: " ")
guard !brokenLetters.isEmpty else { return group.count }
guard let regex = try? Regex("[\(brokenLetters)]") else { return 0 }
return group.reduce(into: 0) { result, string in
result += string.contains(regex) ? 0 : 1
}
}
}

缺點

慢,看起來做了許多不必要的處理

解法 2

(檢討)

參考 iamhands0me解法後,發現可以不用用到正規表達式。寫法就可以更單純好懂。轉型成 Set 後還能用 isDisjoint 判定有沒有出現。

程式碼

class Solution {
func canBeTypedWords(_ text: String, _ brokenLetters: String) -> Int {
text
.split(separator: " ")
.count { [brokenSet = Set(brokenLetters)] word in
brokenSet.isDisjoint(with: word)
}
}
}


留言
avatar-img
留言分享你的想法!
avatar-img
萱寫寫
3會員
19內容數
讀書心得、活動參加心得
你可能也想看
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
題目敘述 Solving Questions With Brainpower 給定一個測驗題陣列,每個欄位都是一個pair, 分別記錄測驗題做完可以得到的分數,和需要的冷卻時間 (也就是會有一段時間不能作答接下來的題目)。 請問在最佳的答題策略下,最多可以獲得多少分數?
Thumbnail
題目敘述 Solving Questions With Brainpower 給定一個測驗題陣列,每個欄位都是一個pair, 分別記錄測驗題做完可以得到的分數,和需要的冷卻時間 (也就是會有一段時間不能作答接下來的題目)。 請問在最佳的答題策略下,最多可以獲得多少分數?
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
手寫版,有寫錯或看不懂的地方,都可以在底下留言給我。 感謝!
Thumbnail
手寫版,有寫錯或看不懂的地方,都可以在底下留言給我。 感謝!
Thumbnail
在比賽裡這就是大家拚手速的題目了,準備好了嗎?
Thumbnail
在比賽裡這就是大家拚手速的題目了,準備好了嗎?
Thumbnail
題目敘述 題目會給定我們兩個輸入字串word1, word2,要求我們依照word1,word2,word1,word2, ... 交叉前進的方式,合併兩個字串,作為輸出。 題目的原文敘述 測試範例 Example 1: Input: word1 = "abc", word2 = "pq
Thumbnail
題目敘述 題目會給定我們兩個輸入字串word1, word2,要求我們依照word1,word2,word1,word2, ... 交叉前進的方式,合併兩個字串,作為輸出。 題目的原文敘述 測試範例 Example 1: Input: word1 = "abc", word2 = "pq
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News