Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 1268. Search Suggestions System
參考資訊:
https://www.cnblogs.com/grandyang/p/15679711.html
題目:

解答:
class Solution {
public:
vector<vector<string>> suggestedProducts(vector<string>& products, string searchWord) {
vector<vector<string>> r;
int size = products.size();
int left = 0;
int right = size - 1;
sort(products.begin(), products.end());
for (int i = 0; i < searchWord.size(); ++i) {
while ((left <= right) && ((i >= products[left].size()) || (products[left][i] < searchWord[i]))) {
left += 1;
}
while ((left <= right) && ((i >= products[right].size()) || (products[right][i] > searchWord[i]))) {
right -= 1;
}
r.push_back({});
for (int j = left; j < min(left + 3, right + 1); ++j) {
r.back().push_back(products[j]);
}
}
return r;
}
};