LeetCode 244. 最短单词距离 II(哈希map+set二分查找)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 244. 最短单词距离 II(哈希map+set二分查找)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
- 2.1 暴力超時
- 2.2 哈希表+set二分查找
1. 題目
請設計一個類,使該類的構造函數能夠接收一個單詞列表。
然后再實現一個方法,該方法能夠分別接收兩個單詞 word1 和 word2,并返回列表中這兩個單詞之間的最短距離。
您的方法將被以不同的參數調用 多次。
注意:
你可以假設 word1 不等于 word2, 并且 word1 和 word2 都在列表里。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/shortest-word-distance-ii
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
類似題目:
LeetCode 243. 最短單詞距離
LeetCode 245. 最短單詞距離 III
程序員面試金典 - 面試題 17.11. 單詞距離(multimap平衡二叉搜索樹)
2.1 暴力超時
11 / 12 個通過測試用例
class WordDistance {vector<string> w; public:WordDistance(vector<string>& words) {w = words;}int shortest(string word1, string word2) {int l = -1, r = -1, mindis = INT_MAX;for(int i = 0; i < w.size(); ++i){if(w[i] == word1)l = i;if(w[i] == word2)r = i;if(l != -1 && r != -1)mindis = min(mindis, abs(l-r));}return mindis;} };2.2 哈希表+set二分查找
- 創建哈希map,單詞是key,其位置是set
- 遍歷其中一個單詞的所有位置 i ,在另一個單詞的set中二分查找 i 的前后位置
68 ms 19.6 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 244. 最短单词距离 II(哈希map+set二分查找)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 361. 轰炸敌人(前
- 下一篇: LeetCode 1180. 统计只含单