1
class Solution {
2
public:
3
vector<vector<string>> suggestedProducts(vector<string> &products, string searchWord) {
4
map<int, vector<string>> m;
5
vector<vector<string>> res;
6
for (int i = 0; i < products.size(); i++) {
7
int j = 0;
8
while (products[i][j] == searchWord[j] && j < searchWord.size()) {
9
if (m.count(j) == 0) {
10
vector<string> v;
11
v.push_back(products[i]);
12
m.insert(make_pair(j, v));
13
} else {
14
m[j].push_back(products[i]);
15
}
16
j++;
17
}
18
}
19
for (int i = 0; i < searchWord.size(); i++) {
20
if (i < m.size()) {
21
sort(m[i].begin(), m[i].end());
22
int a;
23
if (3 <= m[i].size()) {
24
a = 3;
25
} else {
26
a = m[i].size();
27
}
28
m[i].resize(a);
29
res.push_back(m[i]);
30
} else {
31
res.push_back({});
32
}
33
}
34
return res;
35
}
36
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0