HashMap Study Guide
===================
:::warning
[< Return to Home Page](https://hackmd.io/@siansiansu/HknJJm0W0)
:::
Basic HashMap Operations
------------------------
Fundamental problems that introduce the concept and basic usage of hash maps.
- 🟩 [1\. Two Sum](https://leetcode.com/problems/two-sum/) \[[Solution](https://hackmd.io/@siansiansu/rJsuf3LfC)\]
- 🟩 [217\. Contains Duplicate](https://leetcode.com/problems/contains-duplicate/) \[[Solution](https://hackmd.io/@siansiansu/BJnZI0PGA)\]
- 🟩 [219\. Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/) \[[Solution](https://hackmd.io/@siansiansu/rJrCH97BA)\]
- 🟨 [274\. H-Index](https://leetcode.com/problems/h-index/) \[[Solution](https://hackmd.io/@siansiansu/HJAOWCd4R)\]
- 🟩 [1460\. Make Two Arrays Equal by Reversing Subarrays](https://leetcode.com/problems/make-two-arrays-equal-by-reversing-subarrays/) \[[Solution](https://hackmd.io/@siansiansu/SkwhkVst0)\]
- 🟩 [2053\. Kth Distinct String in an Array](https://leetcode.com/problems/kth-distinct-string-in-an-array/) \[[Solution](https://hackmd.io/@siansiansu/HkWT_2TF0)\]
String Manipulation with HashMap
--------------------------------
Problems involving the use of hash maps for efficient string processing.
- 🟨 [49\. Group Anagrams](https://leetcode.com/problems/group-anagrams/) \[[Solution](https://hackmd.io/@siansiansu/BkbnbEJmA)\]
- 🟩 [242\. Valid Anagram](https://leetcode.com/problems/valid-anagram/) \[[Solution](https://hackmd.io/@siansiansu/HJEoxUDzA)\]
- 🟩 [383\. Ransom Note](https://leetcode.com/problems/ransom-note/) \[[Solution](https://hackmd.io/@siansiansu/HJ-jaqPM0)\]
- 🟩 [409\. Longest Palindrome](https://leetcode.com/problems/longest-palindrome/) \[[Solution](https://hackmd.io/@siansiansu/B1U1XovMR)\]
Pattern Matching
----------------
Problems that involve identifying patterns or relationships between elements using hash maps.
- 🟩 [205\. Isomorphic Strings](https://leetcode.com/problems/isomorphic-strings/) \[[Solution](https://hackmd.io/@siansiansu/S1pxmWzH0)\]
- 🟩 [290\. Word Pattern](https://leetcode.com/problems/word-pattern/) \[[Solution](https://hackmd.io/@siansiansu/H1APb2lHA)\]
Sequence and Array Problems
---------------------------
Complex problems involving sequences or arrays that can be efficiently solved using hash maps.
- 🟥 [41\. First Missing Positive](https://leetcode.com/problems/first-missing-positive/) \[[Solution](https://hackmd.io/@siansiansu/SJECC7y7C)\]
- 🟨 [128\. Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/) \[[Solution](https://hackmd.io/@siansiansu/ryKFVNJXC)\]
- 🟨 [525\. Contiguous Array](https://leetcode.com/problems/contiguous-array/) \[[Solution](https://hackmd.io/@siansiansu/H1UCUrJXR)\]
Geometric Problems
------------------
Problems involving geometric concepts that can be solved efficiently using hash maps.
- 🟥 [149\. Max Points on a Line](https://leetcode.com/problems/max-points-on-a-line/) \[[Solution](https://hackmd.io/@siansiansu/ByzhfAMSA)\]
Frequency Counting
------------------
Problems that involve counting the frequency of elements, often solved efficiently with hash maps.
- 🟩 [OddOccurrencesInArray](https://app.codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/) \[[Solution](https://hackmd.io/@siansiansu/SJ495_SH0)\]
- 🟨 [3223\. Minimum Length of String After Operations](https://leetcode.com/problems/minimum-length-of-string-after-operations/) \[[Solution](https://hackmd.io/@siansiansu/HkiNzvKdA)\]
Cycle Detection
---------------
Problems involving detecting cycles in sequences or graphs using hash maps.
- 🟩 [202\. Happy Number](https://leetcode.com/problems/happy-number/) \[[Solution](https://hackmd.io/@siansiansu/H1xo9njP0)\]
Ordered Map Applications
------------------------
Problems that benefit from using ordered maps (like TreeMap in Java or SortedDict in Python).
- 🟨 [846\. Hand of Straights](https://leetcode.com/problems/hand-of-straights/) \[[Solution](https://hackmd.io/@siansiansu/SyJi80C40)\]
- 🟩 [1122\. Relative Sort Array](https://leetcode.com/problems/relative-sort-array/) \[[Solution](https://hackmd.io/@siansiansu/SkI0fBHSR)\]
Problem Difficulty Legend
-------------------------
- 🟩 Easy
- 🟨 Medium
- 🟧 Medium-Hard
- 🟥 Hard
- ⬛ Very Hard
Additional Resources
--------------------
- [Hash Table Data Structure (Video)](https://www.youtube.com/watch?v=shs0KM3wKv8)
- [Implementing Hash Tables in Python](https://realpython.com/python-hash-table/)
- [Hash Table vs. Hash Map (Article)](https://www.baeldung.com/java-hash-table-vs-map)