problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::minimum_index_sum_of_two_lists::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static vector< string > findRestaurant (vector< string > &list1, vector< string > &list2)
 

详细描述

在文件 leetcode.h1731 行定义.

成员函数说明

◆ findRestaurant()

vector< string > leetcode::minimum_index_sum_of_two_lists::Solution::findRestaurant ( vector< string > &  list1,
vector< string > &  list2 
)
static

在文件 leetcode.cpp4506 行定义.

4506 {
4507 unordered_map<string, int> restaurants;
4508 unordered_map<string, int> index1;
4509 unordered_map<string, int> index2;
4510 for(int i = 0; i < list1.size(); i++) {
4511 restaurants[list1[i]]++;
4512 index1[list1[i]] = i;
4513 }
4514 for(int i = 0; i < list2.size(); i++) {
4515 restaurants[list2[i]]++;
4516 index2[list2[i]] = i;
4517 }
4518 unordered_set<string> optional_restaurants;
4519 for(auto [restaurant, count]: restaurants) {
4520 if(count > 1) {
4521 optional_restaurants.insert(restaurant);
4522 }
4523 }
4524 int min_index_sum = INT_MAX;
4525 for(const auto &optional_restaurant: optional_restaurants) {
4526 int index_sum = index1[optional_restaurant] + index2[optional_restaurant];
4527 min_index_sum = min(min_index_sum, index_sum);
4528 }
4529 vector<string> ans;
4530 for(const auto &optional_restaurant: optional_restaurants) {
4531 int index_sum = index1[optional_restaurant] + index2[optional_restaurant];
4532 if(index_sum == min_index_sum) {
4533 ans.push_back(optional_restaurant);
4534 }
4535 }
4536 return ans;
4537 }

被这些函数引用 leetcode::minimum_index_sum_of_two_lists::TEST().


该类的文档由以下文件生成: