码迷,mamicode.com
首页 > 其他好文 > 详细

Two sum III-data structure design

时间:2019-09-15 11:15:05      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:eth   value   bool   des   imp   amp   turn   sts   col   

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

标签:eth   value   bool   des   imp   amp   turn   sts   col   

原文地址:https://www.cnblogs.com/hujianglang/p/11521198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!