[{"name":"Array","slug":"array","problem_count":2196},{"name":"String","slug":"string","problem_count":879},{"name":"Hash Table","slug":"hash-table","problem_count":824},{"name":"Math","slug":"math","problem_count":684},{"name":"Dynamic Programming","slug":"dynamic-programming","problem_count":664},{"name":"Sorting","slug":"sorting","problem_count":527},{"name":"Greedy","slug":"greedy","problem_count":470},{"name":"Depth-First Search","slug":"depth-first-search","problem_count":344},{"name":"Binary Search","slug":"binary-search","problem_count":342},{"name":"Database","slug":"database","problem_count":310},{"name":"Bit Manipulation","slug":"bit-manipulation","problem_count":288},{"name":"Matrix","slug":"matrix","problem_count":277},{"name":"Tree","slug":"tree","problem_count":265},{"name":"Prefix Sum","slug":"prefix-sum","problem_count":263},{"name":"Breadth-First Search","slug":"breadth-first-search","problem_count":259},{"name":"Two Pointers","slug":"two-pointers","problem_count":253},{"name":"Heap (Priority Queue)","slug":"heap-(priority-queue)","problem_count":219},{"name":"Simulation","slug":"simulation","problem_count":211},{"name":"Counting","slug":"counting","problem_count":207},{"name":"Graph Theory","slug":"graph-theory","problem_count":187},{"name":"Binary Tree","slug":"binary-tree","problem_count":180},{"name":"Stack","slug":"stack","problem_count":179},{"name":"Sliding Window","slug":"sliding-window","problem_count":169},{"name":"Enumeration","slug":"enumeration","problem_count":153},{"name":"Design","slug":"design","problem_count":134},{"name":"Backtracking","slug":"backtracking","problem_count":114},{"name":"Number Theory","slug":"number-theory","problem_count":99},{"name":"Union-Find","slug":"union-find","problem_count":98},{"name":"Linked List","slug":"linked-list","problem_count":82},{"name":"Segment Tree","slug":"segment-tree","problem_count":80},{"name":"Ordered Set","slug":"ordered-set","problem_count":79},{"name":"Monotonic Stack","slug":"monotonic-stack","problem_count":73},{"name":"Divide and Conquer","slug":"divide-and-conquer","problem_count":67},{"name":"Combinatorics","slug":"combinatorics","problem_count":62},{"name":"Trie","slug":"trie","problem_count":61},{"name":"Queue","slug":"queue","problem_count":57},{"name":"Bitmask","slug":"bitmask","problem_count":55},{"name":"Recursion","slug":"recursion","problem_count":51},{"name":"Geometry","slug":"geometry","problem_count":46},{"name":"Binary Indexed Tree","slug":"binary-indexed-tree","problem_count":44},{"name":"Memoization","slug":"memoization","problem_count":43},{"name":"Binary Search Tree","slug":"binary-search-tree","problem_count":43},{"name":"Hash Function","slug":"hash-function","problem_count":43},{"name":"Shortest Path","slug":"shortest-path","problem_count":41},{"name":"Topological Sort","slug":"topological-sort","problem_count":40},{"name":"String Matching","slug":"string-matching","problem_count":37},{"name":"Rolling Hash","slug":"rolling-hash","problem_count":33},{"name":"Game Theory","slug":"game-theory","problem_count":30},{"name":"Interactive","slug":"interactive","problem_count":25},{"name":"Monotonic Queue","slug":"monotonic-queue","problem_count":25},{"name":"Data Stream","slug":"data-stream","problem_count":24},{"name":"Brainteaser","slug":"brainteaser","problem_count":21},{"name":"Merge Sort","slug":"merge-sort","problem_count":15},{"name":"Doubly-Linked List","slug":"doubly-linked-list","problem_count":15},{"name":"Randomized","slug":"randomized","problem_count":12},{"name":"Counting Sort","slug":"counting-sort","problem_count":11},{"name":"Iterator","slug":"iterator","problem_count":9},{"name":"Concurrency","slug":"concurrency","problem_count":9},{"name":"Quickselect","slug":"quickselect","problem_count":8},{"name":"Sweep Line","slug":"sweep-line","problem_count":8},{"name":"Suffix Array","slug":"suffix-array","problem_count":8},{"name":"Probability and Statistics","slug":"probability-and-statistics","problem_count":7},{"name":"Bucket Sort","slug":"bucket-sort","problem_count":6},{"name":"Minimum Spanning Tree","slug":"minimum-spanning-tree","problem_count":6},{"name":"Shell","slug":"shell","problem_count":4},{"name":"Reservoir Sampling","slug":"reservoir-sampling","problem_count":4},{"name":"Radix Sort","slug":"radix-sort","problem_count":3},{"name":"Eulerian Circuit","slug":"eulerian-circuit","problem_count":3},{"name":"Rejection Sampling","slug":"rejection-sampling","problem_count":2},{"name":"Sort","slug":"sort","problem_count":2},{"name":"Strongly Connected Component","slug":"strongly-connected-component","problem_count":2},{"name":"Biconnected Component","slug":"biconnected-component","problem_count":1}]