😂代码实现
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 27 28 29
| class Solution { public: vector<string> findRestaurant(vector<string>& list1, vector<string>& list2) { vector<string> vec; if(!list1.size()) return vec; map<string, int> st1, st2; for(int i = 0; i < list1.size(); ++i) st1.insert({list1[i], i}); for(int i = 0; i < list2.size(); ++i) { if(st1.count(list2[i]) != 0) { auto x = st1.at(list2[i]); st2.insert({list2[i], x + i}); } } int mi = INT_MAX; for(auto x :st2) { if(mi > x.second) { mi = x.second; // ms = x.first; } } for(auto x : st2) { if(mi == x.second) vec.push_back(x.first); } return vec; } };
|
Accepted
133/133 cases passed (152 ms)
Your runtime beats 33.28 % of cpp submissions
Your memory usage beats 21.41 % of cpp submissions (31.6 MB)