10.29 - 所有沒有寫對的簡單和中等題

一共五十六題,每題都寫個思路,爭取兩小時搞定。

  1. Divide Two Integers: 二分法的思想
  2. Spiral Matrix:旋轉的時候要注意邊界越界情況
  3. Sort Colors: 彩虹排序
  4. Remove Duplicates from Sorted List II:不知道為何要記錄這題
  5. Convert Sorted List to Binary Search Tree:用divide and conquer來做
  6. Flatten Binary Tree to Linked List:遞歸的方法就是先左右然后再合并,非遞歸的方法是preorder traversal的方法
  7. Binary Tree Upside Down: 遞歸的方法比較容易些,非遞歸的話就要用stack來模擬了
  8. Binary Search Tree Iterator:在hashnext的時候一直loop到最左邊,然后調用next的時候
  9. Bitwise AND of Numbers Range:當m和n不等的時候就移位,并且記錄移位的位數(shù),直到相等的時候再朝回移位
  10. Majority Element II:設置兩個candidate,然后設置兩個count,用vote的方法來做就可以了
  11. Factor Combinations:backtracking的題目,不過在進入下一層循環(huán)的時候改變的量有兩個n和cur
  12. Verify Preorder Sequence in Binary Search Tree:做法是把preorder的變成inorder,利用一個stack,觀察一下preorder的大小順序就可以了
  13. Peeking Iterator:首先要記錄兩個值,cur和prev,hasnext和peek都是操作cur,當獲取next的值的時候,先把next值賦值給prev
  14. Inorder Successor in BST:用遞歸方法很好做
    300. Longest Increasing Subsequence:難點在于follow up的log n 解法
  15. Best Time to Buy and Sell Stock with Cooldown:主要是要找buy和sell之間的關系
  16. Generalized Abbreviation:這道題比較麻煩,一直不太會寫,現(xiàn)在再寫一遍,等到復習Google tag的時候再復習一遍
  17. Wiggle Sort II:這題主要要把大的放一邊把小的放一邊中間值放中間,然后再進行排序就好了
  18. Reconstruct Itinerary:沿著一條路徑一直朝下訪問,直到無法訪問,無法訪問時候就從stack pop出來放到res里去
  19. Water and Jug Problem:這題是一道數(shù)學題
  20. Sum of Two Integers: 利用and和xor的操作
  21. Super Pow:數(shù)學題
  22. Combination Sum IV:背包問題
  23. Kth Smallest Element in a Sorted Matrix:二分法,判定條件為數(shù)數(shù)
  24. Insert Delete GetRandom O(1):利用一個array和一個hash,每次和array的最后一個值進行交換并且更新hash值
  25. Mini Parser:每次遇到一個【就加入一個nestedinteger
  26. Lexicographical Numbers:這道題有點看記憶力,大概思路是有的,不知道能不能寫出bug free來
  27. Elimination Game:這道題連一個tag都沒有,其實就是記錄一個開頭值
  28. Convert a Number to Hexadecimal:進制的轉換
  29. Sentence Screen Fitting:這題有點坑,不太會做
  30. Maximum XOR of Two Numbers in an Array: 從最高位開始,每次res移一位的時候,都測試一下res | 1 是不是可能的答案
  31. Find Right Interval:二分法
  32. Ternary Expression Parser:從后往前做用stack依次做
  33. Sequence Reconstruction:拓撲排序的問題
  34. Minimum Moves to Equal Array Elements:數(shù)學題
  35. 132 Pattern:用stack維護一個start遞減的range
  36. Can I Win:博弈類問題
  37. Unique Substrings in Wraparound String:以每一個字母ending的最大長度
  38. Ones and Zeroes:背包類問題
  39. Target Sum:又是一道背包類問題
  40. The Maze II:用heap維護一系列訪問過的點,按照距離排序,先訪問heap里最小的點,并且試著更新visited里的長度
  41. Longest Palindromic Subsequence:dp問題,對角線型dp
  42. Continuous Subarray Sum:要形成k的倍數(shù),也就是要在dict里重復prefixsum % k
  43. Lonely Pixel II: 好晦澀的題目
  44. Split Array with Equal Sum:i,j,k固定一下j
  45. Optimal Division:數(shù)學題,或者是記憶化搜索
  46. Split Concatenated Strings:非Google題,不做了
  47. Add Bold Tag in String:遇到兩組字符串的情況,某一組特別大,那么就考慮loop另一組
  48. Task Scheduler:用heap來依次做, 每次都把heap里的要用的元素pop出來放到一個temp里,然后再放回到heap里
  49. Exclusive Time of Functions:只要記錄當前的任務id和prev的時間,剩下的就一點一點來判斷
  50. Shopping Offers:記憶化搜索,先記錄without special的,然后再試著如果加入special的各種情況
  51. 4 Keys Keyboard:尋求前面三個值的情況,也就是說如果用了j step到dp[j],那么剩余i-j步,然后C-A,C,V,V,V,可以獲得i-j-2個copy,然后加上本身的copy,也就是i-j-1個copy
  52. Split Array into Consecutive Subsequences:有點greedy的方法
  53. Beautiful Arrangement II:感覺更像是一道數(shù)學題
  54. Bulb Switcher II:又是一道數(shù)學題。。。
  55. Partition to K Equal Sum Subsets:backtracking的題目,一個一個數(shù)找
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容