zoukankan      html  css  js  c++  java
  • 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;
            }
    };  
    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    Slimer软工课设日报-2016年6月30日
    Slimer软工课设日报-2016年6月29日
    软件工程个人总结
    什么是Bug
    构建之法读后感----第1章 绪论
    7.4
    7.1-7.3
    6.29
    软件工程课设 第二天
    软工总结 作业
  • 原文地址:https://www.cnblogs.com/hujianglang/p/11521198.html
Copyright © 2011-2022 走看看