Two sum III-data structure design
Posted hujianglang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.
For example,
add(1); add(3); add(5);
find(4) -> true
find(7) -> false
//method 1: 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; ; //method 2: class TwoSum public: void add(int number) s.insert(number); bool find(int value) for(auto a : s) int cnt = a == value - a ? 1 : 0; if(s.count(value - a) > cnt) return true; return false; ;
以上是关于Two sum III-data structure design的主要内容,如果未能解决你的问题,请参考以下文章
[LintCode] Two Sum - Data Structure Design
170. Two Sum III - Data structure design
170. Two Sum III - Data structure design
170. Two Sum III - Data structure design