599. Minimum Index Sum of Two Lists
Posted __Meng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了599. Minimum Index Sum of Two Lists相关的知识,希望对你有一定的参考价值。
Suppose Andy and Doris want to choose a restaurant for dinner, and they both have a list of favorite restaurants represented by strings.
You need to help them find out their common interest with the least list index sum. If there is a choice tie between answers, output all of them with no order requirement. You could assume there always exists an answer.
Example 1:
Input: ["Shogun", "Tapioca Express", "Burger King", "KFC"] ["Piatti", "The Grill at Torrey Pines", "Hungry Hunter Steakhouse", "Shogun"] Output: ["Shogun"] Explanation: The only restaurant they both like is "Shogun".
Example 2:
Input: ["Shogun", "Tapioca Express", "Burger King", "KFC"] ["KFC", "Shogun", "Burger King"] Output: ["Shogun"] Explanation: The restaurant they both like and have the least index sum is "Shogun" with index sum 1 (0+1).
输出两个字符串数组共有的字符串,要求索引之和最小
C++(92ms):
1 class Solution { 2 public: 3 vector<string> findRestaurant(vector<string>& list1, vector<string>& list2) { 4 vector<string> res ; 5 unordered_map<string,int> Map ; 6 int Min = INT_MAX ; 7 for(int i = 0 ; i < list1.size() ; i++){ 8 Map[list1[i]] = i ; 9 } 10 for(int i = 0 ; i < list2.size() ; i++){ 11 if (Map.count(list2[i])){ 12 if (Map[list2[i]] + i < Min ){ 13 Min = Map[list2[i]] + i ; 14 res.clear(); 15 res.push_back(list2[i]) ; 16 }else if(Map[list2[i]] + i == Min ){ 17 res.push_back(list2[i]) ; 18 } 19 } 20 } 21 return res ; 22 } 23 };
以上是关于599. Minimum Index Sum of Two Lists的主要内容,如果未能解决你的问题,请参考以下文章
599. Minimum Index Sum of Two Lists
599. Minimum Index Sum of Two Lists
[LeetCode] 599. Minimum Index Sum of Two Lists
[leetcode-599-Minimum Index Sum of Two Lists]