前往
大廳
主題

LeetCode - 500. Keyboard Row 解題心得

Not In My Back Yard | 2020-11-04 00:00:01 | 巴幣 0 | 人氣 152

題目連結:


題目意譯:
給定一個字詞的列表,回傳可以只使用如下圖的美式鍵盤其中一列就能打出來的那些字詞。


注:
你可以使用任意次數的鍵盤上的某一個字元。
你可以假設輸入字串只包含英文字母。



範例測資:
範例:
輸入: ["Hello", "Alaska", "Dad", "Peace"]
輸出: ["Alaska", "Dad"]


解題思維:
將同一列的字母都賦予(映射)同一個值,例如 QWERTYUIOP 這十個字母都定為 0 、 ASDFGHJKL 這九個都定為 1 、 ZXCVBNM 都設為 2 。

因此,我們可以將每個字詞都轉一個數字字串(記得注意輸入不是只有大寫字母),因此我們只需要判斷轉換後的數字字串是否是由同一個數字所組成。是的話就加入到要回傳的陣列裡;反之,忽略此字詞。




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

創作回應

更多創作