diff --git a/2201/220130-CN.cpp b/2201/220130-CN.cpp new file mode 100644 index 0000000..75c88fa --- /dev/null +++ b/2201/220130-CN.cpp @@ -0,0 +1,31 @@ +#include +#include +#include + +class Solution { +private: + static std::unordered_map breakWords(const std::string& s) { + std::unordered_map m; + for (int pos = 0; pos >= 0; (pos = s.find_first_of(' ', pos)), (pos = (pos == -1 ? -1 : pos + 1))) { + ++m[s.substr(pos, s.find_first_of(' ', pos) - pos)]; + } + return m; + }; +public: + static std::vector uncommonFromSentences(const std::string& s1, const std::string& s2) { + auto m1 = breakWords(s1), m2 = breakWords(s2); + std::vector ret; + for (const auto& i : m1) + if (i.second == 1 && !m2.count(i.first)) + ret.push_back(i.first); + for (const auto& i : m2) + if (i.second == 1 && !m1.count(i.first)) + ret.push_back(i.first); + return ret; + } +}; + +int main() { + auto ret = Solution::uncommonFromSentences("this apple is sweet", "this apple is sour"); + return 0; +} diff --git a/2201/CMakeLists.txt b/2201/CMakeLists.txt index bdd82be..a3db28d 100644 --- a/2201/CMakeLists.txt +++ b/2201/CMakeLists.txt @@ -3,4 +3,4 @@ PROJECT(2201) SET(CMAKE_CXX_STANDARD 23) -ADD_EXECUTABLE(2201 220130.cpp) +ADD_EXECUTABLE(2201 220130-CN.cpp)