zoukankan      html  css  js  c++  java
  • 170. Two Sum III

    https://leetcode.com/problems/two-sum-iii-data-structure-design/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.

    For example,

    add(1); add(3); add(5);
    find(4) -> true
    find(7) -> false
    
    Sol:
     
    public class TwoSum {
    
        /** Initialize your data structure here. */
        /*
        public TwoSum() {
            
        }
        */
        
        private HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        
        
        
        /** Add the number to an internal data structure.. */
        public void add(int number) {
            map.put(number, map.containsKey(number) ? map.get(number) + 1 : 1);
            
        }
        
        /** Find if there exists any pair of numbers which sum is equal to the value. */
        public boolean find(int value) {
            for (Map.Entry<Integer, Integer> entry : map.entrySet()){
                int i = entry.getKey();
                int j = value - i;
                if (i == j && entry.getValue() > 1 || (i != j && map.containsKey(j))){
                    return true;
                }
            }
            return false;
            
        }
    }
    
    /**
     * Your TwoSum object will be instantiated and called as such:
     * TwoSum obj = new TwoSum();
     * obj.add(number);
     * boolean param_2 = obj.find(value);
     */
  • 相关阅读:
    ES6介绍
    django-缓存
    Python标准模块--functools
    python-深浅拷贝
    Django专题-ugettext_lazy
    PHP 连接 MySQL
    PHP 过滤器
    PHP session
    PHP cookie
    PHP 文件上传
  • 原文地址:https://www.cnblogs.com/prmlab/p/7285588.html
Copyright © 2011-2022 走看看