String Dsa Patterns FAANG
String Dsa Patterns FAANG
1. Sliding Window Pattern - Longest substring with K distinct characters, Minimum window substring
2. Two Pointers Pattern - Valid palindrome, Reverse words in a string
3. Fast & Slow Pointers - Detect cycle in a linked list, Finding middle of a sequence
4. Hashing & Frequency Count - Anagram detection, Longest substring without repeating characters
5. Trie (Prefix Tree) - Word search in a dictionary, Auto-complete suggestions
6. Backtracking - Generate all valid parentheses, Palindrome partitioning
7. Sorting-Based Pattern - Group anagrams, Largest number from array of numbers as strings
8. Stack-Based Pattern - Valid parentheses, Decode string like '3[a]2[bc]'
9. Greedy Pattern - Longest happy string, Reorganize string without adjacent duplicates
10. KMP Algorithm - String pattern matching, Count occurrences of a substring efficiently
11. Rabin-Karp Algorithm - Find substring in large text efficiently, Plagiarism detection
12. Z-Algorithm - Fast string searching, Finding periodicity in a string
13. Boyer-Moore Algorithm - Fast pattern matching for large alphabets, Search DNA sequences
14. Aho-Corasick Algorithm - Search multiple keywords in a text simultaneously, Spam filtering
15. Suffix Array & Suffix Tree - Longest repeated substring, Lexicographical order
16. Manacher's Algorithm - Find longest palindromic substring in O(N), Count palindromic substrings
17. Dynamic Programming - Longest common subsequence, Edit distance, Wildcard matching
18. Bit Manipulation - Find if string has all unique characters, Count set bits in binary string
19. Matrix-Based String Problems - Word search in 2D grid, Longest increasing path
20. Binary Search on Strings - Lexicographical order search, Finding smallest rotation
21. Deque & Monotonic Queue - Find lexicographically smallest subsequence, Remove K digits
22. Frequency Sorting & Bucket Sort - Sort characters by frequency, Reorder string
23. Run-Length Encoding - String compression 'aaabbc' -> 'a3b2c1', Decode run-length encoding
24. Interval Merging - Merging overlapping substrings, Concatenating duplicate substrings
25. Meet-in-the-Middle - Subset sum variation, Splitting string into equal sum parts
26. Grid Traversal - Minimum steps to transform word, Finding paths in word puzzle
27. Mo's Algorithm - Answering substring queries efficiently, Counting distinct characters in range
28. Graph-Based Problems - Word ladder problem, Topological sorting of characters
29. Euler Tour for Tree Queries - Find longest common ancestor, Query repeated subsequences
30. Matrix Exponentiation - Counting ways to transform string, Fibonacci-like string computations
31. Sliding Hash Window - Find longest repeating substring efficiently, Detect plagiarism
32. Lyndon Factorization - Find lexicographically smallest substring rotation
33. Heaps/Priority Queue - Find K most frequent words, Reorganize string without duplicates
34. BWT (Burrows-Wheeler Transform) - Used for data compression, Improves pattern search efficiency
35. Sparse Table - Answer LCP queries in O(1), Solve substring equality queries efficiently
36. Segment Tree - Answer range queries like 'Most frequent character in a substring'
37. Fenwick Tree (BIT) - Count vowels/consonants in range, Perform prefix updates
38. Suffix Automaton - Find number of distinct substrings efficiently, Check substring existence
39. Heavy-Light Decomposition (HLD) - Efficiently query longest common prefix in dynamic updates
40. Trie with Bitwise Manipulation - Find longest XOR pair from a set of binary strings