Two Sum III - Data structure design
2015-01-19 15:22
357 查看
Design and implement a TwoSum class. It should support the following operations:
For example,
addand
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来做。
public class TwoSum { HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); public void add(int number) { if(map.containsKey(number)) map.put(number, map.get(number) + 1); else map.put(number, 1); } public boolean find(int value) { for(Integer val : map.keySet()){ if(value == val + val && map.get(val) > 1) return true; if(value != val + val && map.containsKey(value - val)) return true; } return false; } }
相关文章推荐
- [leetcode]Two Sum III - Data structure design
- [LeetCode170]Two Sum III - Data structure design
- Two Sum III - Data structure design
- [Leetcode] Two Sum III - Data structure design
- LeetCode-Two Sum III - Data structure design
- [LeetCode] Two Sum III - Data structure design 两数之和之三 - 数据结构设计
- LeetCode:Two Sum III - Data structure design
- LeetCode Two Sum III - Data structure design
- [LeetCode] Two Sum III - Data Structure Design
- Two Sum III - Data structure design
- Leetcode NO.170 Two Sum III - Data structure design
- Two Sum III - Data structure design
- LeetCode - Two Sum III - Data structure design
- [LeetCode]Two Sum III - Data structure design
- leetcode — two-sum-iii-data-structure-design
- LeetCode-Two Sum III - Data structure design
- 170 Two Sum III - Data structure design
- leetcode3 Two Sum III – Data structure design
- Leetcode|Two Sum III - Data structure design
- LeetCode Two Sum III - Data structure design