前往
大廳
主題

LeetCode - 2085. Count Common Words With One Occurrence 解題心得

Not In My Back Yard | 2022-05-22 12:00:05 | 巴幣 0 | 人氣 149

題目連結:


題目意譯:
給定兩字串陣列 words1 和 words2,回傳恰好各在兩陣列中出現一次的字串之數量。

限制:
1 ≦ words1.length, words2.length ≦ 1000
1 ≦ words1[i].length, words2[j].length ≦ 30
words1[i] 和 words2[j] 只由小寫英文字母組成。



範例測資:
範例 1:
輸入: words1 = ["leetcode","is","amazing","as","is"], words2 = ["amazing","leetcode","is"]
輸出: 2
解釋:
- "leetcode" 恰好只在兩陣列中各出現一次。因此此字串算數。
- "amazing" 恰好只在兩陣列中各出現一次。因此此字串算數。
- "is" 在兩陣列中都有出現,但是在 words1 中出現了兩次。因此此字串不算數。
- "as" 於 words1 中出現一次,但並沒有出現於 words2 中。因此此字串不算數。
因此,有兩個字串恰好於兩陣列中各出現一次。

範例 2:
輸入: words1 = ["b","bb","bbb"], words2 = ["a","aa","aaa"]
輸出: 0
解釋: 沒有字串同時出現於兩陣列中。

範例 3:
輸入: words1 = ["a","ab"], words2 = ["a","a","a","ab"]
輸出: 1
解釋: 唯一一個恰好於兩陣列中各出現一次的字串為 "ab"。


解題思維:
可以暴力窮舉兩陣列中的字串去跟對方一起統計,也可以利用雜湊表(Hash Table)來統計。總之就是找只各出現於兩陣列中一次的字串即可。




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

創作回應

更多創作