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
public class TwoSum { HashMap<Integer,Integer> map = new HashMap<Integer,Integer>(); // Add the number to an internal data structure. public void add(int number) { if(map.containsKey(number)) map.put(number, map.get(number)+1); else map.put(number,1); } // Find if there exists any pair of numbers which sum is equal to the value. public boolean find(int value) { for(int key:map.keySet()) { int num1 = key; int num2 = value - num1; if(num1==num2&&map.get(num1)>1) return true; else if(num1!=num2&&map.containsKey(num2)) return true; } return false; } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步