diff --git a/cpp/2203/220314-CN.cpp b/cpp/2203/220314-CN.cpp new file mode 100644 index 0000000..715e7a5 --- /dev/null +++ b/cpp/2203/220314-CN.cpp @@ -0,0 +1,31 @@ +#include +#include +#include + +class Solution { +public: + static std::vector findRestaurant(const std::vector& list1, const std::vector& list2) { + std::unordered_map map; + + int m = list1.size(), n = list2.size(); + for (int i = 0; i < m; ++i) { + map[list1[i]] = i; + } + + int retMin = 0x7FFFFFFF; + std::vector ret; + for (int i = 0; i < n; ++i) { + if (map.count(list2[i])) { + int x = i + map[list2[i]]; + if (x < retMin) { + ret = {list2[i]}; + retMin = x; + } else if (x == retMin) { + ret.push_back(list2[i]); + } + } + } + + return ret; + } +}; diff --git a/cpp/2203/CMakeLists.txt b/cpp/2203/CMakeLists.txt index fa77a8d..3850239 100644 --- a/cpp/2203/CMakeLists.txt +++ b/cpp/2203/CMakeLists.txt @@ -3,4 +3,4 @@ PROJECT(2203) SET(CMAKE_CXX_STANDARD 23) -ADD_EXECUTABLE(2203 220313-CN.cpp) +ADD_EXECUTABLE(2203 220314-CN.cpp)