Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2cb17d0

Browse files
solves #170: Two Sum III: Data structure design
1 parent 0f69c55 commit 2cb17d0

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

‎README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
| 167 | [Two Sum II - Input Array is Sorted](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted) | [![Java](assets/java.png)](src/TwoSumIIInputArrayIsSorted.java) [![Python](assets/python.png)](python/two_sum_ii.py) | |
164164
| 168 | [Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title) | [![Java](assets/java.png)](src/ExcelSheetColumnTitle.java) [![Python](assets/python.png)](python/excel_sheet_column_title.py) | |
165165
| 169 | [Majority Element](https://leetcode.com/problems/majority-element) | [![Java](assets/java.png)](src/MajorityElement.java) [![Python](assets/python.png)](python/majority_element.py) | |
166-
| 170 | 🔒 [Two Sum III - Data Structure Design](https://leetcode.com/problems/two-sum-iii-data-structure-design) | | |
166+
| 170 | 🔒 [Two Sum III - Data Structure Design](https://leetcode.com/problems/two-sum-iii-data-structure-design) | [![Java](assets/java.png)](src/TwoSumIIIDataStructureDesign.java) | |
167167
| 171 | [Excel Sheet Column Number](https://leetcode.com/problems/excel-sheet-column-number) | [![Java](assets/java.png)](src/ExcelSheetColumnNumber.java) [![Python](assets/python.png)](python/excel_sheet_column_number.py) | |
168168
| 172 | [Factoring Trailing Zeroes](https://leetcode.com/problems/factorial-trailing-zeroes) | [![Java](assets/java.png)](src/FactorialTrailingZeros.java) [![Python](assets/python.png)](python/factorial_trailing_zeroes.py) | |
169169
| 173 | [Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator) | [![Java](assets/java.png)](src/BinarySearchTreeIterator.java) | |

‎src/TwoSumIIIDataStructureDesign.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
4+
public class TwoSumIIIDataStructureDesign {
5+
static class TwoSum {
6+
private final Map<Integer, Integer> map = new HashMap<>();
7+
8+
// T: O(1)
9+
public void add(int number) {
10+
map.put(number, map.getOrDefault(number, 0) + 1);
11+
}
12+
13+
// N: number of unique elements we have seen so far
14+
// T: O(N)
15+
public boolean find(int sum) {
16+
for (int current : map.keySet()) {
17+
final int required = sum - current;
18+
if (required == current) {
19+
if (map.get(required) >= 2) {
20+
return true;
21+
} else {
22+
continue;
23+
}
24+
}
25+
26+
if (map.containsKey(required)) {
27+
return true;
28+
}
29+
}
30+
31+
return false;
32+
}
33+
}
34+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /