170. Two Sum III - Data structure design
Posted Machelsky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了170. Two Sum III - Data structure 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
思路:思路跟two sum差不多,用hashmap存读到的数,value存个数。find只要遍历map然后检查是不是有被减数,如果被减数等于减数,检查个数即可。
public class TwoSum { Map<Integer,Integer> res=new HashMap<Integer,Integer>(); // Add the number to an internal data structure. public void add(int number) { if(res.containsKey(number)) { res.put(number,res.get(number)+1); } else { res.put(number,1); } } // Find if there exists any pair of numbers which sum is equal to the value. public boolean find(int value) { if(res.isEmpty()) { return false; } for(int number:res.keySet()) { if(res.containsKey(value-number)) { if(value-number==number) { if(res.get(number)>=2) { return true; } } else { return true; } } } return false; } } // Your TwoSum object will be instantiated and called as such: // TwoSum twoSum = new TwoSum(); // twoSum.add(number); // twoSum.find(value);
以上是关于170. Two Sum III - Data structure design的主要内容,如果未能解决你的问题,请参考以下文章
170. Two Sum III - Data structure design
[LC] 170. Two Sum III - Data structure design
170. Two Sum III - Data structure design
LeetCode Two Sum III - Data structure design