美文网首页
170. Two Sum III - Data structur

170. Two Sum III - Data structur

作者: Mree111 | 来源:发表于2019-10-17 23:35 被阅读0次

    Description

    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.

    Solution

    使用字典存储

    class TwoSum(object):
    
        def __init__(self):
            """
            Initialize your data structure here.
            """
            self.cnt_dict={}
            
    
        def add(self, number):
            """
            Add the number to an internal data structure..
            :type number: int
            :rtype: None
            """
            if number in self.cnt_dict:
                self.cnt_dict[number]+=1
            else:
                self.cnt_dict[number]=1
            
    
        def find(self, value):
            """
            Find if there exists any pair of numbers which sum is equal to the value.
            :type value: int
            :rtype: bool
            """
            for k,v in self.cnt_dict.items():
                if value-k in self.cnt_dict:
                    if value-k==k:
                        if v>1:
                            return True
                    else:
                        return True
            return False
      
    # Your TwoSum object will be instantiated and called as such:
    # obj = TwoSum()
    # obj.add(number)
    # param_2 = obj.find(value)  
    

    相关文章

      网友评论

          本文标题:170. Two Sum III - Data structur

          本文链接:https://www.haomeiwen.com/subject/nwebmctx.html