算法

作者: 前端混合开发 | 来源:发表于2016-12-14 17:12 被阅读0次

With attribution to Top 10 Algorithms for Coding Interview . Actually algorithms are just like maths, the more you do, the more you learn. You have to have some truly great and good number of algorithms to pump up your skills. The task never ends at
--Two Pointers--1) Rotate Array, Reverse Words in a String2) Evaluate Reverse Polish Notation (Stack)3) Isomorphic Strings4) Word Ladder (BFS), Word Ladder II (BFS)5) Median of Two Sorted Arrays5) Kth Largest Element in an Array6) Wildcard Matching, Regular Expression Matching7) Merge Intervals, Insert Interval9) Two Sum, Two Sum II, Two Sum III, 3Sum, 4Sum10) 3Sum Closest11) String to Integer12) Merge Sorted Array13) Valid Parentheses13) Longest Valid Parentheses14) Implement strStr()15) Minimum Size Subarray Sum16) Search Insert Position17) Longest Consecutive Sequence18) Valid Palindrome19) ZigZag Conversion20) Add Binary 21) Length of Last Word22) Triangle24) Contains Duplicate: I, II, III25) Remove Duplicates from Sorted Array: I, II, Remove Element , Move Zeroes27) Longest Substring Without Repeating Characters28) Longest Substring that contains 2 unique characters [Google]28) Substring with Concatenation of All Words29) Minimum Window Substring31) Find Minimum in Rotated Sorted Array: I, II32) Search in Rotated Array:I, II33) Min Stack34) Majority Element: I, II35) Bulls and Cows 36) Largest Rectangle in Histogram37) Longest Common Prefix [Google]38) Largest Number39) Simplify Path40) Compare Version Numbers41) Gas Station44) Pascal's Triangle: I, II45) Container With Most Water45) Candy [Google]45) Trapping Rain Water46) Count and Say47) Search for a Range48) Basic Calculator, Basic Calculator II49) Group Anagrams50) Shortest Palindrome51) Rectangle Area52) Summary Ranges53) Increasing Triplet Subsequence54) Get Target Using Number List And Arithmetic Operations 55) Reverse Vowels of a String 56) Flip Game, Flip Game II57) Missing Number, Find the duplicate number, First Missing Positive 58) Valid Anagram, Group Shifted Strings59) Top K Frequent Elements60) Find Peak Element61) Word Pattern, Word Pattern II62) H-Index , H-Index II63) Palindrome Pairs64) One Edit Distance65) Scramble String66) First Bad Version67) Integer to English Words68) Text Justification 69) Remove Invalid Parentheses70) Intersection of Two Arrays, Intersection of Two Arrays II71) Sliding Window Maximum, Moving Average from Data Stream72) Guess Number Higher or Lower
2. Matrix
Common methods to solve matrix related problem include DFS, BFS, dynamic programming, etc.
Classic Problems:1) Set Matrix Zeroes2) Spiral Matrix2) Spiral Matrix II3) Search a 2D Matrix3) Search a 2D Matrix II4) Rotate Image [Palantir]5) Valid Sudoku 6) Minimum Path Sum (DP) [Google]7) Unique Paths (DP) [Google]7) Unique Paths II (DP)8) Number of Islands (DFS/BFS), Number of Islands II (Disjoint Set), Number of Connected Components in an Undirected Graph9) Surrounded Regions (BFS)10) Maximal Rectangle10) Maximal Square11) Word Search (DFS)11) Word Search II13) Range Sum Query 2D – Immutable14) Longest Increasing Path in a Matrix (DFS)15) Shortest Distance from All Buildings16) Game of Life17) Paint House, Paint House II18) Sudoku Solver (DFS)19) Walls and Gates (DFS/BFS)20) Tic-Tac-Toe21) Best Meeting Point
Classic Problems:0) Implement a Stack Using an Array1) Add Two Numbers2) Reorder List3) Linked List Cycle4) Copy List with Random Pointer5) Merge Two Sorted Lists6) Odd Even Linked List7) Remove Duplicates from Sorted List7) Remove Duplicates from Sorted List II8) Partition List9) LRU Cache10) Intersection of Two Linked Lists11) Remove Linked List Elements12) Swap Nodes in Pairs13) Reverse Linked List, Reverse Linked List II, Print Linked List in Reversed Order14) Remove Nth Node From End of List (Fast-Slow Pointers)15) Implement Stack using Queues15) Implement Queue using Stacks16) Palindrome Linked List17) Implement a Queue using an Array18) Delete Node in a Linked List19) Reverse Nodes in k-Group
4.1 Tree

  1. Binary Tree Traversal:
    Preorder, Inorder, Postorder, Level Order, Level Order II, Vertical Order2) Invert Binary Tree3) Kth Smallest Element in a BST4) Binary Tree Longest Consecutive Sequence5) Validate Binary Search Tree6) Flatten Binary Tree to Linked List7) Path Sum (DFS or BFS)7) Path Sum II (DFS) 8) Construct Binary Tree from Inorder and Postorder Traversal8) Construct Binary Tree from Preorder and Inorder Traversal9) Convert Sorted Array to Binary Search Tree [Google]10) Convert Sorted List to Binary Search Tree [Google]11) Minimum Depth of Binary Tree12) Binary Tree Maximum Path Sum *13) Balanced Binary Tree14) Symmetric Tree15) Binary Search Tree Iterator 16) Binary Tree Right Side View17) Lowest Common Ancestor of a Binary Search Tree18) Lowest Common Ancestor of a Binary Tree19) Verify Preorder Serialization of a Binary Tree20) Populating Next Right Pointers in Each Node 21) Populating Next Right Pointers in Each Node II 21) Unique Binary Search Trees (DP)21) Unique Binary Search Trees II (DFS)22) Sum Root to Leaf Numbers (DFS)23) Count Complete Tree Nodes 24) Closest Binary Search Tree Value25) Binary Tree Paths26) Maximum Depth of Binary Tree27 Recover Binary Search Tree28) Same Tree29) Serialize and Deserialize Binary Tree30) Inorder Successor in BST31) Find Leaves of Binary Tree32) Largest BST Subtree
    4.2 Heap
    1) Merge k sorted arrays [Google]2) Merge k Sorted Lists *3) Find Median from Data Stream4) Meeting Rooms II, Meeting Rooms5) Range Addition
    4.3 Trie
    1) Implement Trie (Prefix Tree)2) Add and Search Word - Data structure design (DFS)
    4.4 Segment Tree
    1) Range Sum Query - Mutable2) The Skyline Problem
    Sorting
    1) Mergesort2) Quicksort3) InsertionSort.4) Maximum Gap (Bucket Sort)5) Sort Colors (Counting Sort)

相关文章

  • 匈牙利算法

    算法思想 算法流程 算法步骤 算法实现 python 算法应用

  • web开发需要知道的几个算法

    算法分类 快速排序算法 深度优先算法 广度优先算法 堆排序算法 归并排序算法

  • 机器学习算法

    机器学习的算法分监督算法和无监督 算法。监督算法包括回归算法,神经网络,SVM;无监督算法包括聚类算法,降维算法。...

  • 字符串匹配

    BF 算法和 RK 算法BM 算法和 KMP 算法

  • 垃圾回收算法有几种类型? 他们对应的优缺点又是什么?

    常见的垃圾回收算法有: 标记-清除算法、复制算法、标记-整理算法、分代收集算法 标记-清除算法 标记—清除算法包括...

  • 头条-手撕代码

    [toc] 图算法 以及最短路径算法 树算法 手写LRU 排序算法 链表算法

  • 关于一些算法

    我们平常说的算法按照使用方向加密算法,排序算法,搜索算法,优化算法,音视频处理算法,图片处理算法 1.加密解密算法...

  • 给我巨大影响的技术书籍

    算法《算法概论》《算法设计与分析基础》 Anany Levitin《算法引论》Udi Manber《算法导论》《什...

  • 缓存相关

    cache淘汰算法:LIRS 算法 缓存那些事 Redis缓存淘汰算法,LRU算法,LRU算法讲解

  • LZW压缩算法

    参考链接:超级简单的数据压缩算法—LZW算法压缩算法——lzw算法实现LZW算法 LZW 压缩算法正确图解

网友评论

      本文标题:算法

      本文链接:https://www.haomeiwen.com/subject/tqaimttx.html