LeetCode 599 两个列表的最小索引总和[map] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 599 两个列表的最小索引总和[map] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
一道非常简单的map应用题目,用一个map存储其中一个list的所有餐厅名称和其序号,因为最后反悔哦结果中的餐厅肯定在该map中,所以只用一个map,接着遍历另一个list,一旦找到餐厅在map中,就计算其索引和,如果最小,更新最小值并将数组重置,如果和最小值相同,放入数组后面即可,代码如下:
class Solution
public:
vector<string> findRestaurant(vector<string>& list1, vector<string>& list2)
vector<string> ans;
unordered_map<string, int> mp;
for(int i = 0; i < list1.size(); i ++)
mp[list1[i]] = i;
int love = INT_MAX;
for(int i = 0; i < list2.size(); i ++)
if(mp.count(list2[i]) > 0)
int cur = i + mp[list2[i]];
if(cur < love)
ans.clear();
love = cur;
ans.push_back(list2[i]);
else if(cur == love)
ans.push_back(list2[i]);
return ans;
;
以上是关于LeetCode 599 两个列表的最小索引总和[map] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 599 两个列表的最小索引总和[map] HERODING的LeetCode之路
LeetCode 393. UTF-8 编码验证 / 599. 两个列表的最小索引总和 / 2044. 统计按位或能得到最大值的子集数目