> For the complete documentation index, see [llms.txt](https://protegejj.gitbook.io/algorithm-practice/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://protegejj.gitbook.io/algorithm-practice/google.md).

# Google

- [665 Non-decreasing Array](https://protegejj.gitbook.io/algorithm-practice/google/665-non-decreasing-array.md)
- [400 Nth Digit](https://protegejj.gitbook.io/algorithm-practice/google/400-nth-digit.md)
- [484 Find Permutation](https://protegejj.gitbook.io/algorithm-practice/google/484-find-permutation.md)
- [353 Design Snake Game](https://protegejj.gitbook.io/algorithm-practice/google/353-design-snake-game.md)
- [348 Design Tic-Tac-Toe](https://protegejj.gitbook.io/algorithm-practice/google/348-design-tic-tac-toe.md)
- [657 Judge Route Circle](https://protegejj.gitbook.io/algorithm-practice/google/657-judge-route-circle.md)
- [789  Escape The Ghosts](https://protegejj.gitbook.io/algorithm-practice/google/789-escape-the-ghosts.md)
- [667 Beautiful Arrangement II](https://protegejj.gitbook.io/algorithm-practice/google/667-beautiful-arrangement-ii.md)
- [359  Logger Rate Limiter](https://protegejj.gitbook.io/algorithm-practice/google/359-logger-rate-limiter.md)
- [463 Island Perimeter](https://protegejj.gitbook.io/algorithm-practice/google/463-island-perimeter.md)
- [66 Plus One](https://protegejj.gitbook.io/algorithm-practice/google/66-plus-one.md)
- [249 Group Shifted Strings](https://protegejj.gitbook.io/algorithm-practice/google/249-group-shifted-strings.md)
- [281 Zigzag Iterator](https://protegejj.gitbook.io/algorithm-practice/google/281-zigzag-iterator.md)
- [54 Spiral Matrix](https://protegejj.gitbook.io/algorithm-practice/google/54-spiral-matrix.md)
- [56 Merge Intervals](https://protegejj.gitbook.io/algorithm-practice/google/56-merge-intervals.md)
- [57 Insert Interval](https://protegejj.gitbook.io/algorithm-practice/google/57-insert-interval.md)
- [163 Missing Ranges](https://protegejj.gitbook.io/algorithm-practice/google/163-missing-ranges.md)
- [228 Summary Ranges](https://protegejj.gitbook.io/algorithm-practice/google/228-summary-ranges.md)
- [166 Fraction to Recurring Decimal](https://protegejj.gitbook.io/algorithm-practice/google/166-fraction-to-recurring-decimal.md)
- [780 Reaching Points](https://protegejj.gitbook.io/algorithm-practice/google/780-reaching-points.md)
- [326 Power of Three](https://protegejj.gitbook.io/algorithm-practice/google/326-power-of-three.md)
- [318 Maximum Product of Word Lengths](https://protegejj.gitbook.io/algorithm-practice/google/318-maximum-product-of-word-lengths.md)
- [314 Binary Tree Vertical Order Traversal](https://protegejj.gitbook.io/algorithm-practice/google/314-binary-tree-vertical-order-traversal.md)
- [297 Serialize and Deserialize Binary Tree](https://protegejj.gitbook.io/algorithm-practice/google/297-serialize-and-deserialize-binary-tree.md)
- [447 Number of Boomerangs](https://protegejj.gitbook.io/algorithm-practice/google/447-number-of-boomerangs.md)
- [362 Design Hit Counter](https://protegejj.gitbook.io/algorithm-practice/google/362-design-hit-counter.md)
- [448 Find All Numbers Disappeared in an Array](https://protegejj.gitbook.io/algorithm-practice/google/448-find-all-numbers-disappeared-in-an-array.md)
- [409 Longest Palindrome](https://protegejj.gitbook.io/algorithm-practice/google/409-longest-palindrome.md)
- [406 Queue Reconstruction by Height](https://protegejj.gitbook.io/algorithm-practice/google/406-queue-reconstruction-by-height.md)
- [370 Range Addition](https://protegejj.gitbook.io/algorithm-practice/google/370-range-addition.md)
- [415 Add Strings](https://protegejj.gitbook.io/algorithm-practice/google/415-add-strings.md)
- [498 Diagonal Traverse](https://protegejj.gitbook.io/algorithm-practice/google/498-diagonal-traverse.md)
- [482 License Key Formatting](https://protegejj.gitbook.io/algorithm-practice/google/482-license-key-formatting.md)
- [560 Subarray Sum Equals K](https://protegejj.gitbook.io/algorithm-practice/google/560-subarray-sum-equals-k.md)
- [356 Line Reflection](https://protegejj.gitbook.io/algorithm-practice/google/356-line-reflection.md)
- [748 Shortest Completing Word](https://protegejj.gitbook.io/algorithm-practice/google/748-shortest-completing-word.md)
- [218 The Skyline Problem](https://protegejj.gitbook.io/algorithm-practice/google/218-the-skyline-problem.md)
- [391 Perfect Rectangle](https://protegejj.gitbook.io/algorithm-practice/google/391-perfect-rectangle.md)
- [481 Magical String](https://protegejj.gitbook.io/algorithm-practice/google/481-magical-string.md)
- [380 Insert Delete GetRandom O(1)](https://protegejj.gitbook.io/algorithm-practice/google/380-insert-delete-getrandom-o1.md)
- [800 Similar RGB Color](https://protegejj.gitbook.io/algorithm-practice/google/800-similar-rgb-color.md)
- [246 Strobogrammatic Number](https://protegejj.gitbook.io/algorithm-practice/google/246-strobogrammatic-number.md)
- [247 Strobogrammatic Number II](https://protegejj.gitbook.io/algorithm-practice/google/247-strobogrammatic-number-ii.md)
- [465 Optimal Account Balancing](https://protegejj.gitbook.io/algorithm-practice/google/465-optimal-account-balancing.md)
- [687 Longest Univalue Path](https://protegejj.gitbook.io/algorithm-practice/google/687-longest-univalue-path.md)
- [543 Diameter of Binary Tree](https://protegejj.gitbook.io/algorithm-practice/google/543-diameter-of-binary-tree.md)
- [777 Swap Adjacent in LR String](https://protegejj.gitbook.io/algorithm-practice/google/777-swap-adjacent-in-lr-string.md)
- [792 Number of Matching Subsequences](https://protegejj.gitbook.io/algorithm-practice/google/792-number-of-matching-subsequences.md)
- [460 LFU Cache](https://protegejj.gitbook.io/algorithm-practice/google/460-lfu-cache.md)
- [779 K-th Symbol in Grammar](https://protegejj.gitbook.io/algorithm-practice/google/779-k-th-symbol-in-grammar.md)
- [289 Game of Life](https://protegejj.gitbook.io/algorithm-practice/google/289-game-of-life.md)
- [31 Next Permutation](https://protegejj.gitbook.io/algorithm-practice/google/31-next-permutation.md)
- [756 Pyramid Transition Matrix](https://protegejj.gitbook.io/algorithm-practice/google/756-pyramid-transition-matrix.md)
- [753 Cracking the Safe](https://protegejj.gitbook.io/algorithm-practice/google/753-cracking-the-safe.md)
- [330 Patching Array](https://protegejj.gitbook.io/algorithm-practice/google/330-patching-array.md)
- [327 Count of Range Sum](https://protegejj.gitbook.io/algorithm-practice/google/327-count-of-range-sum.md)
- [769 Max Chunks To Make Sorted](https://protegejj.gitbook.io/algorithm-practice/google/769-max-chunks-to-make-sorted.md)
- [768 Max Chunks To Make Sorted II](https://protegejj.gitbook.io/algorithm-practice/google/768-max-chunks-to-make-sorted-ii.md)
- [309 Best Time to Buy and Sell Stock with Cooldown](https://protegejj.gitbook.io/algorithm-practice/google/309-best-time-to-buy-and-sell-stock-with-cooldown.md)
- [393 UTF-8 Validation](https://protegejj.gitbook.io/algorithm-practice/google/393-utf-8-validation.md)
- [388 Longest Absolute File Path](https://protegejj.gitbook.io/algorithm-practice/google/388-longest-absolute-file-path.md)
- [807 Max Increase to Keep City Skyline](https://protegejj.gitbook.io/algorithm-practice/google/807-max-increase-to-keep-city-skyline.md)
- [802 Find Eventual Safe States](https://protegejj.gitbook.io/algorithm-practice/google/802-find-eventual-safe-states.md)
- [469 Convex Polygon](https://protegejj.gitbook.io/algorithm-practice/google/469-convex-polygon.md)
- [683 K Empty Slots](https://protegejj.gitbook.io/algorithm-practice/google/683-k-empty-slots.md)
- [157 Read N Characters Given Read4](https://protegejj.gitbook.io/algorithm-practice/google/157-read-n-characters-given-read4.md)
- [158 Read N Characters Given Read4 II - Call multiple times](https://protegejj.gitbook.io/algorithm-practice/google/158-read-n-characters-given-read4-ii-call-multiple-times.md)
- [681 Next Closest Time](https://protegejj.gitbook.io/algorithm-practice/google/681-next-closest-time.md)
- [317 Shortest Distance from All Buildings](https://protegejj.gitbook.io/algorithm-practice/google/317-shortest-distance-from-all-buildings.md)
- [587 Erect the Fence](https://protegejj.gitbook.io/algorithm-practice/google/587-erect-the-fence.md)
- [307 Range Sum Query - Mutable](https://protegejj.gitbook.io/algorithm-practice/google/307-range-sum-query-mutable.md)
- [308 Range Sum Query 2D - Mutable](https://protegejj.gitbook.io/algorithm-practice/google/308-range-sum-query-2d-mutable.md)
- [282 Expression Add Operators](https://protegejj.gitbook.io/algorithm-practice/google/282-expression-add-operators.md)
- [616 Add Bold Tag in String](https://protegejj.gitbook.io/algorithm-practice/google/616-add-bold-tag-in-string.md)
- [497 Random Point in Non-overlapping Rectangles](https://protegejj.gitbook.io/algorithm-practice/google/497-random-point-in-non-overlapping-rectangles.md)
- [544 Output Contest Matches](https://protegejj.gitbook.io/algorithm-practice/google/544-output-contest-matches.md)
- [386 Lexicographical Numbers](https://protegejj.gitbook.io/algorithm-practice/google/386-lexicographical-numbers.md)
