> For the complete documentation index, see [llms.txt](https://jinjunliu.gitbook.io/notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jinjunliu.gitbook.io/notes/leetcode/8.13_hash_table.md).

# Hash Table

Link: <https://leetcode.com/problems/two-sum/>

Code:

```java
class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            if (map.containsKey(target - nums[i])) {
                return new int[] { map.get(target - nums[i]), i };
            }
            map.put(nums[i], i);
        }
        return new int[] {};
    }
}
```

* `containsKey(key)` returns `true` if the map contains a mapping for the key.
* `put(key, value)` inserts the key-value pair into the map.

## Longest Substring Without Repeating Characters

See <https://notes.jinjunliu.com/8\\_leetcode/8.2\\_string/#longest-substring-without-repeating-characters>
