LeetCode 966 母音拼寫檢查器(雜湊)

2021-10-07 08:56:21 字數 2632 閱讀 5475

在給定單詞列表 wordlist 的情況下,我們希望實現乙個拼寫檢查器,將查詢單詞轉換為正確的單詞。

對於給定的查詢單詞 query,拼寫檢查器將會處理兩類拼寫錯誤:

例如:wordlist =

["yellow"

], query =

"yellow"

: correct =

"yellow"

例如:wordlist =

["yellow"

], query =

"yellow"

: correct =

"yellow"

例如:wordlist =

["yellow"

], query =

"yellow"

: correct =

"yellow"

例如:wordlist =

["yellow"

], query =

"yollow"

: correct =

"yellow"

例如:wordlist =

["yellow"

], query =

"yeellow"

: correct =

"" (無匹配項)

例如:wordlist =

["yellow"

], query =

"yllw"

: correct =

"" (無匹配項)

此外,拼寫檢查器還按照以下優先順序規則操作:

給出一些查詢 queries,返回乙個單詞列表 answer,其中 answer[i] 是由查詢 query = queries[i] 得到的正確單詞。

示例:

輸入:wordlist =

["kite"

,"kite"

,"hare"

,"hare"

], queries =

["kite"

,"kite"

,"kite"

,"hare"

,"hare"

,"hear"

,"hear"

,"keti"

,"keet"

,"keto"

]輸出:[

"kite"

,"kite"

,"kite"

,"hare"

,"hare",""

,"","kite",""

,"kite"]

1<= wordlist.length <=

5000

1<= queries.length <=

5000

1<= wordlist[i]

.length <=71

<= queries[i]

.length <=

7wordlist 和 queries 中的所有字串僅由英文本母組成。

class

solution

;// 原始單詞集合

unordered_set

words

(wordlist.

begin()

, wordlist.

end())

;//轉成小寫後的單詞 ---- 第乙個出現的原始詞

unordered_map upper_lower;

//轉小寫且元音標為* ----- 第乙個出現的原始詞

unordered_map vowel_mask;

string s1, s2;

int i =

0, idx =0;

for(

auto

& w : wordlist)

if(vowel.

count

(s2[i]))

s2[i]

='*';}

if(!upper_lower.

count

(s1)

) upper_lower[s1]

= w;if(

!vowel_mask.

count

(s2)

) vowel_mask[s2]

= w;

} vector

ans(queries.

size()

,"");

for(

auto

& q : queries)

if(vowel.

count

(s2[i]))

s2[i]

='*';}

if(upper_lower.

count

(s1)

) ans[idx]

= upper_lower[s1]

;else

if(vowel_mask.

count

(s2)

) ans[idx]

= vowel_mask[s2];}

idx++;}

return ans;}}

;

144 ms 29.1 mb

leetcode 966 母音拼寫檢查器

目錄在給定單詞列表wordlist的情況下,我們希望實現乙個拼寫檢查器,將查詢單詞轉換為正確的單詞。對於給定的查詢單詞query,拼寫檢查器將會處理兩類拼寫錯誤 母音錯誤 如果在將查詢單詞中的母音 a e i o u 分別替換為任何母音後,能與單詞列表中的單詞匹配 不區分大小寫 則返回的正確單詞與單...

LeetCode 打家劫舍

你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...

leetcode 打家劫舍

你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...