首页 > 其他 > 详细

p128 设计一个类求和为给定值的两个数(lintcode 607)

时间:2020-04-15 13:10:29      阅读:59      评论:0      收藏:0      [点我收藏+]

一:解题思路

add:Time:O(1),find,Time:O(n)

二:完整代码示例 (C++版和Java版)

C++:

class TwoSum 
{
private:
    vector<int> data;
public:
    void add(int number) 
    {
        data.push_back(number);
    }

    bool find(int value)
    {
        set<int> s;
        for (int num : data)
        {
            if (s.count(value - num) != 0) return true;
            s.insert(num);
        }

        return false;
    }
};

Java:

public class TwoSum {
        private List<Integer> data=new ArrayList<>();
        
        public void add(int number) 
        {
              data.add(number);   
        }

       
        public boolean find(int value) 
        {
               Set<Integer> s=new HashSet<>();
               for(int num:data)
               {
                   if(s.contains(value-num)) return true;
                   s.add(num);
               }
               
               return false;
        }
    }

 

p128 设计一个类求和为给定值的两个数(lintcode 607)

原文:https://www.cnblogs.com/repinkply/p/12704230.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!