You've worked through array, string, and hash map problems.
Hash maps give lookups. Use them to turn pair-finding into (Two Sum, Group Anagrams, Longest Consecutive Sequence).
Two pointers work on sorted arrays or when you can reason about which direction to move (Container With Most Water, 3Sum).
Sliding window handles substring and subarray problems in by maintaining a valid window that only expands right and shrinks left (Longest Substring, Minimum Window Substring).
Prefix/suffix decomposition splits a problem into passes from both directions (Product of Array Except Self).