Two Sum III - Data structure design

2871 단어 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

doubly linkedlist , list sorted , 。 time out。
hashmap 。
 1 public class TwoSum {

 2     HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();

 3     public void add(int number) {

 4         if(map.containsKey(number)) map.put(number, map.get(number) + 1);

 5         else map.put(number, 1);

 6     }

 7 

 8     public boolean find(int value) {

 9         for(Integer val : map.keySet()){

10             if(value == val + val && map.get(val) > 1) return true;

11             if(value != val + val && map.containsKey(value - val)) return true;

12         }

13         return false;

14     }

15 }

좋은 웹페이지 즐겨찾기