170. Two Sum III - Data structure design
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class TwoSum {
private Map<Integer, Integer> nums;
/** Initialize your data structure here. */
public TwoSum() {
nums = new HashMap<Integer, Integer>();
}
/** Add the number to an internal data structure.. */
public void add(int number) {
nums.put(number, nums.getOrDefault(number, 0)+1);
}
/** Find if there exists any pair of numbers which
sum is equal to the value. */
public boolean find(int value) {
for(Integer n: nums.keySet()) {
int complement = value - n;
if(nums.containsKey(complement)) {
if(complement == n && nums.get(complement) < 2) {
continue;
}
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);
*/