Leetcode|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.

two sum是个经典问题,这里自己实现的类借助unordered_map

查找时依据是否One和two相等来分两种对待。

class twosum
{
    unordered_map array;
public:
    void add(int n)
    {
        array[n]++;
    }

    bool find(int value)
    {
        int one,two;
        for(unordered_map::iterator it=array.begin();it!=array.edn();it++)
        {
            one=it->first;
            two=value-one;
            if(two==one&&it->second>1||(two!=one&&array.find(two)!=array.end())
               return true;
        }
        return false;
    }
};


 
  

你可能感兴趣的:(leetcode)