Fork me on GitHub

Shortest Word Distance II

Description

https://leetcode.com/problems/shortest-word-distance-ii/description/

Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class WordDistance {
private:
unordered_map<string, vector<int>> dic;
public:
WordDistance(vector<string> words) {
for (int i = 0; i < words.size(); ++i) {
dic[words[i]].push_back(i);
}
}

int shortest(string word1, string word2) {
int ret = INT_MAX;
for (auto item1 : dic[word1]) {
for (auto item2 : dic[word2]) {
ret = min(abs(item1 - item2), ret);
}
}
return ret;
}
};

/**
* Your WordDistance object will be instantiated and called as such:
* WordDistance obj = new WordDistance(words);
* int param_1 = obj.shortest(word1,word2);
*/