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
Map<Integer, Integer> dict = new HashMap<Integer, Integer>(); public void add(int number) { if (dict.containsKey(number)) { dict.put(number, dict.get(number) + 1); } else { dict.put(number, 1); } } public boolean find(int value) { for (Integer key : dict.keySet()) { if (value - key == key) { if (dict.get(key) >= 2) { return true; } } else if (dict.containsKey(value - key)) { return true; } } return false; }
相关推荐
javascript js_leetcode题解之170-two-sum-iii-data-structure-design.js
python python_leetcode题解之170_Two_Sum_III-Data_structure_design.py
c c语言_leetcode 0001_two_sum
LeetCode -- Path Sum III分析及实现方法 Path Sum III是LeetCode中的一个经典问题,旨在计算给定二叉树中所有路径的和等于某个给定值的路径数量。下面我们将详细介绍Path Sum III的分析及实现方法。 一、问题描述...
在双指针部分,作者解释了双指针技术在处理数组或链表问题时如何发挥作用,例如在TwoSum问题中的应用。在动态规划章节中,作者不仅介绍了动态规划的基本原理,还涵盖了不同类型的动态规划问题,如分割类型题、子序列...
c语言入门 c语言_leetcode题解01-two-sum.c
java java_leetcode-112-path-sum
java java_leetcode-113-path-sumII
java java_leetcode题解之Path Sum III.java
java java_leetcode题解之Combination Sum III.java
c c语言_leetcode 0016_three_sum_closest.zip
c c语言_leetcode 0018_four_sum.zip
c c语言_leetcode 0015_three_sum.zip
js js_leetcode题解之1-two-sum.js
8. leetcode-29-Divide-Two-Integers.md:第29题,两数相除,涉及到整数除法和位运算。 9. leetcode-218-The-Skyline-Problem.md:第218题,天际线问题,可能涉及到二维数组处理和线段树或平衡二叉搜索树的数据结构...
《LeetCode---C++实现》是一本专注于C++编程语言解决LeetCode在线判题平台上的算法问题的书籍。LeetCode是程序员广泛使用的平台,它提供了大量的编程题目来提升编程技能和算法理解,尤其对于准备面试的程序员来说,...
javascript js_leetcode题解之167-two-sum-II-input-array-is-sorted.js
c c语言_leetcode 0029_divide_two_integers.zip
c c语言_leetcode 0002_add_two_numbers.zip
c c语言_leetcode 0021_merge_two_sorted_lists.zip