刷题技巧

    xiaoxiao2021-04-16  42

    我看大家刷题刷的我心好累,明明刷题是最简单的,你们怎么能把它搞的这么复杂== 算法题是技术面试的重点,绝对是重点。简单题要求你能一遍写的bug free。实话,好像也没考过难题。 1.首先,打开leetcode那个网站之后在框里直接写,不要用IDE了。 2.其次,java流你需要了解容器最基本的用法和函数。C++流你需要了解STL的用法和泛型算法。 (这是最基本的) java: https://docs.oracle.com/javase/7/docs/api/overview-summary.html C++:  http://www.cplusplus.com/ 3.按照分类刷题,就是右下角tag。 绝对不要一开始就点开数组,为什么,数组是什么都能用的,什么DP啦,贪心啦都能用数组。 我推荐第一个分类是链表,所有的链表题是有模版的,不管你做什么题,你都需要考虑三个因素:判头判尾判空。 hard难度的题目不想想就先放过,easy和medium难度的需要掌握,尤其是easy,面试要是考到原题一定要写的bug free. easy和medium难度要是想不出来就看答案,看完答案AC之后这还不算完事,你第二天一定要不看答案自己写一遍。要是忘了就再看答案,然后第三天以此类推。 hard难度不要强求自己啦,你要是真能easy和medium全通了,找个差不多的好工作也根本不是啥问题。 4.看discuss很重要 (选most votes),不要网上搜解题报告,要是discuss的code看不懂了再搜,看看有什么好的解释来帮助你理解这个问题。 还有一个重点就是一定要反复记忆,这个跟背单词没有任何区别,第一遍绝对是最痛苦的,如果你想来第二遍,你就会发现好多题都会了,都能写的bug free了。 要是想调试的话,直接在函数中间cout那个变量,leetcode是支持中间打印东西的。 还有一条,能写的短的函数一定要写的短。 就是比如说翻转字符串: 使用STL的话:可以这么写: 1 2 3 4 5 6 7 class Solution { public :      string reverseString(string s) {          reverse(s.begin(), s.end());          return s;      } }; 如果面试官不让你使用STL的话,可以这么写: (我这种写法叫做字符串的in-place翻转,一共就三句话,你需要把它背下来。) 1 2 3 4 5 6 7 8 9 10 class Solution { public :      string reverseString(string s) {          int i = 0, j = s.size()-1;          while (i < j){              swap(s[i++], s[j--]);          }          return s;      } }; 最后,希望北邮人都能找个好工作。

                 

    1 Two Sum 2 5 array sort

            set Two Pointers

    2 Add Two Numbers 3 4 linked list Two Pointers

              Math

    3 Longest Substring Without Repeating Characters 3 2 string Two Pointers

            hashtable  

    4 Median of Two Sorted Arrays 5 3 array Binary Search

    5 Longest Palindromic Substring 4 2 string  

    6 ZigZag Conversion 3 1 string  

    7 Reverse Integer 2 3   Math

    8 String to Integer (atoi) 2 5 string Math

    9 Palindrome Number 2 2   Math

    10 Regular Expression Matching 5 3 string Recursion

              DP

    11 Container With Most Water 3 2 array Two Pointers

    12 Integer to Roman 3 4   Math

    13 Roman to Integer 2 4   Math

    14 Longest Common Prefix 2 1 string  

    15 3Sum 3 5 array Two Pointers

    16 3Sum Closest 3 1 array Two Pointers

    17 Letter Combinations of a Phone Number 3 3 string DFS

    18 4Sum 3 2 array  

    19 Remove Nth Node From End of List 2 3 linked list Two Pointers

    20 Valid Parentheses 2 5 string Stack

    21 Merge Two Sorted Lists 2 5 linked list sort

              Two Pointers

              merge

    22 Generate Parentheses 3 4 string DFS

    23 Merge k Sorted Lists 3 4 linked list sort

            heap Two Pointers

              merge

    24 Swap Nodes in Pairs 2 4 linked list  

    25 Reverse Nodes in k-Group 4 2 linked list Recursion

              Two Pointers

    26 Remove Duplicates from Sorted Array 1 3 array Two Pointers

    27 Remove Element 1 4 array Two Pointers

    28 Implement strStr() 4 5 string Two Pointers

              KMP

              rolling hash

    29 Divide Two Integers 4 3   Binary Search

              Math

    30 Substring with Concatenation of All Words 3 1 string Two Pointers

    31 Next Permutation 5 2 array permutation

    32 Longest Valid Parentheses 4 1 string DP

    33 Search in Rotated Sorted Array 4 3 array Binary Search

    34 Search for a Range 4 3 array Binary Search

    35 Search Insert Position 2 2 array  

    36 Valid Sudoku 2 2 array  

    37 Sudoku Solver 4 2 array DFS

    38 Count and Say 2 2 string Two Pointers

    39 Combination Sum 3 3 array combination

    40 Combination Sum II 4 2 array combination

    41 First Missing Positive 5 2 array sort

    42 Trapping Rain Water 4 2 array Two Pointers

              Stack

    43 Multiply Strings 4 3 string Two Pointers

              Math

    44 Wildcard Matching 5 3 string Recursion

              DP

              greedy

    45 Jump Game II 4 2 array  

    46 Permutations 3 4 array permutation

    47 Permutations II 4 2 array permutation

    48 Rotate Image 4 2 array  

    49 Anagrams 3 4 string  

            hashtable  

    50 Pow(x, n) 3 5   Binary Search

              Math

    51 N-Queens 4 3 array DFS

    52 N-Queens II 4 3 array DFS

    53 Maximum Subarray 3 3 array DP

    54 Spiral Matrix 4 2 array  

    55 Jump Game 3 2 array  

    56 Merge Intervals 4 5 array sort

            linked list merge

            red-black tree  

    57 Insert Interval 4 5 array sort

            linked list merge

            red-black tree  

    58 Length of Last Word 1 1 string  

    59 Spiral Matrix II 3 2 array  

    60 Permutation Sequence 5 1   permutation

              Math

    61 Rotate List 3 2 linked list Two Pointers

    62 Unique Paths 2 3 array DP

    63 Unique Paths II 3 3 array DP

    64 Minimum Path Sum 3 3 array DP

    65 Valid Number 2 5 string Math

    66 Plus One 1 2 array Math

    67 Add Binary 2 4 string Two Pointers

              Math

    68 Text Justification 4 2 string  

    69 Sqrt(x) 4 4   Binary Search

    70 Climbing Stairs 2 5   DP

    71 Simplify Path 3 1 string Stack

    72 Edit Distance 4 3 string DP

    73 Set Matrix Zeroes 3 5 array  

    74 Search a 2D Matrix 3 3 array Binary Search

    75 Sort Colors 4 2 array sort

              Two Pointers

    76 Minimum Window Substring 4 2 string Two Pointers

    77 Combinations 3 4   combination

    78 Subsets 3 4 array Recursion

              combination

    79 Word Search 3 4 array DFS

    80 Remove Duplicates from Sorted Array II 2 2 array Two Pointers

    81 Search in Rotated Sorted Array II 5 3 array Binary Search

    82 Remove Duplicates from Sorted List II 3 3 linked list Recursion

              Two Pointers

    83 Remove Duplicates from Sorted List 1 3 linked list  

    84 Largest Rectangle in Histogram 5 2 array Stack

    85 Maximal Rectangle 5 1 array DP

              Stack

    86 Partition List 3 3 linked list Two Pointers

    87 Scramble String 5 2 string Recursion

              DP

    88 Merge Sorted Array 2 5 array Two Pointers

              merge

    89 Gray Code 4 2   combination

    90 Subsets II 4 2 array Recursion

              combination

    91 Decode Ways 3 4 string Recursion

              DP

    92 Reverse Linked List II 3 2 linked list Two Pointers

    93 Restore IP Addresses 3 3 string DFS

    94 Binary Tree Inorder Traversal 4 3 tree Recursion

            hashtable morris

              Stack

    95 Unique Binary Search Trees II 4 1 tree DP

              DFS

    96 Unique Binary Search Trees 3 1 tree DP

    97 Interleaving String 5 2 string Recursion

              DP

    98 Validate Binary Search Tree 3 5 tree DFS

    99 Recover Binary Search Tree 4 2 tree DFS

    100 Same Tree 1 1 tree DFS

    101 Symmetric Tree 1 2 tree DFS

    102 Binary Tree Level Order Traversal 3 4 tree BFS

    103 Binary Tree Zigzag Level Order Traversal 4 3 queue BFS

            tree Stack

    104 Maximum Depth of Binary Tree 1 1 tree DFS

    105 Construct Binary Tree from Preorder and Inorder Tr 3 3 array DFS

            tree  

    106 Construct Binary Tree from Inorder and Postorder T 3 3 array DFS

            tree  

    107 Binary Tree Level Order Traversal II 3 1 tree BFS

    108 Convert Sorted Array to Binary Search Tree 2 3 tree DFS

    109 Convert Sorted List to Binary Search Tree 4 3 linked list Recursion

              Two Pointers

    110 Balanced Binary Tree 1 2 tree DFS

    111 Minimum Depth of Binary Tree 1 1 tree DFS

    112 Path Sum 1 3 tree DFS

    113 Path Sum II 2 2 tree DFS

    114 Flatten Binary Tree to Linked List 3 3 tree Recursion

              Stack

    115 Distinct Subsequences 4 2 string DP

    116 Populating Next Right Pointers in Each Node 3 3 tree DFS

    117 Populating Next Right Pointers in Each Node II 4 2 tree DFS

    118 Pascal's Triangle 2 1 array  

    119 Pascal's Triangle II 2 1 array  

    120 Triangle 3 1 array DP

    121 Best Time to Buy and Sell Stock 2 1 array DP

    122 Best Time to Buy and Sell Stock II 3 1 array greedy

    123 Best Time to Buy and Sell Stock III 4 1 array DP

    124 Binary Tree Maximum Path Sum 4 2 tree DFS

    125 Valid Palindrome 2 5 string Two Pointers

    126 Word Ladder II 1 1    

    127 Word Ladder 3 5 graph BFS

              shortest path

    128 Longest Consecutive Sequence 4 3 array  

    129 Sum Root to Leaf Numbers 2 4 tree DFS

    130 Surrounded Regions 4 3 array BFS

              DFS

    131 Palindrome Partitioning 3 4 string DFS

    132 Palindrome Partitioning II 4 3 string DP
    转载请注明原文地址: https://ju.6miu.com/read-673108.html

    最新回复(0)