【leetcode】170. Two Sum III - Data structure design 两数之和之三 - 数据结构设计
Design and implement a TwoSum class. It should support the following operations:
add and find. add - Add the number to an internal data structure.
find - Find if there exists any pair of numbers which sum is equal to the value.
Example 1:
add(1); add(3); add(5); find(4) -> true find(7) -> false
Example 2:
add(3); add(1); add(2); find(3) -> true find(6) -> false
class TwoSum { public: void add(int number) { ++m[number]; } bool find(int value) { for (auto a : m) { int t = value - a.first; if ((t != a.first && m.count(t)) || (t == a.first && a.second > 1)) { return true; } } return false; } private: unordered_map<int, int> m; };