/ Algorithms  

寒假面试刷题指北

Python 算法与数据结构

数据结构与算法 Python

CyC2018 刷题目录

azl部分python解

动画演示


按难度

AZL EASY
简单难度

  1. 0020.Valid Parentheses
  2. 0026.remove-duplicates-from-sorted-array
  3. 0053.maximum-sum-subarray new
  4. 0088.merge-sorted-array
  5. ※0104.maximum-depth-of-binary-tree 1.19
  6. 0121.best-time-to-buy-and-sell-stock
  7. 0122.best-time-to-buy-and-sell-stock-ii
  8. 0125.valid-palindrome
  9. 0136.single-number 1.19
  10. 0155.min-stack new
  11. 0167.two-sum-ii-input-array-is-sorted
  12. ※0172.factorial-trailing-zeroes

    ※2020.1.18

    因为是阶乘后的0,0是由于2*5得出一个0,因此便是求2*5有多少个.因为2<5,有5一定有2,因此便是求5的个数

  13. 0169.majority-element
  14. 0190.reverse-bits
  15. 0191.number-of-1-bits
  16. 0198.house-robber
  17. 0203.remove-linked-list-elements 1.19
  18. ※0206.reverse-linked-list
  19. 0219.contains-duplicate-ii 1.19
  20. 0226.invert-binary-tree
  21. 0232.implement-queue-using-stacks new
  22. 0263.ugly-number
  23. 0283.move-zeroes
  24. 0342.power-of-four
  25. 0349.intersection-of-two-arrays
  26. 0437.path-sum-iii new
  27. 0371.sum-of-two-integers
  28. 0501.find-mode-in-binary-search-treenew
  29. 0575.distribute-candies
  30. 1260.shift-2d-gridnew

    按分类

    链表
  31. 找出两个链表的交点
  32. 链表反转
  33. 归并两个有序的链表 1.18
  34. 从有序链表中删除重复节点 1.18
  35. 删除链表的倒数第 n 个节点
  36. 交换链表中的相邻结点
  37. 链表求和
  38. 回文链表
  39. 分隔链表
  40. 链表元素按奇偶聚集

    按日期

    0) 1.18 廿四

    1) 1.19 廿五

  41. 20 有效的括号
  42. 206 翻转链表
  43. 160 相交链表 # TODO
  44. 730 每日温度 贪心 # TODO
  45. 121. 买卖股票的最佳时机# DP动态规划 TODO
  46. 136. 只出现一次的数字 异或
  47. 263. 丑数# TODO 连续判断

    2) 1.20 廿六

  48. 1003. 检查替换后的词是否有效 还有栈解法
  49. TODO 0015#
  50. TODO 0633. 平方数之和 双指针
  51. 0144. 二叉树的前序遍历迭代 莫里斯遍历#TODO
  52. TODO 0145. 二叉树的后序遍历# 注意迭代写法与前序区别很大
  53. TODO 1302. 层数最深叶子节点的和

    3) 1.21 廿七

  54. 1315. 祖父节点值为偶数的节点和
  55. ※1.19AGAIN 110. 平衡二叉树bottom-up, top-down
  56. 0543. 二叉树的直径最长不一定通过root
  57. 0226. 翻转二叉树
  58. TODO 0112. 路径总和
  59. TODO 0617. 合并二叉树
  60. 0563. 二叉树的坡度
  61. 0897. 递增顺序查找树建立新树 或 利用现有节点
  62. TODO 0669. 修剪二叉搜索树 ->1.23
  63. 0098. 验证二叉搜索树 TODO:上下界
  64. 0100. 相同的树
  65. 0230. 二叉搜索树中第K小的元素
  66. TODO 0235. 二叉搜索树的最近公共祖先 ->1.23
  67. 0108. 将有序数组转换为二叉搜索树
  68. 0501. 二叉搜索树中的众数还要考虑中序遍历法

    4) 1.22 廿八

    5) 1.23 廿九

  69. 0669. 修剪二叉搜索树
  70. 0235. 二叉搜索树的最近公共祖先

    6) 1.24 除夕

  71. TODO53. 最大子序和已解决DP,还有分治和贪心
  72. TODO0300. 最长上升子序列 TODO复杂度nlogn的情况

    7) 1.25 春节

  73. TODO0005. 最长回文子串
  74. TODO0516. 最长回文子序列

    8) 1.26 初二

  75. 0070. 爬楼梯
  76. 0198. 打家劫舍
  77. 0213. 打家劫舍 II
  78. 0064. 最小路径和
  79. 0062. 不同路径

    9) 1.27 初三

    10) 1.28 初四

    11) 1.29 初五

    12) 1.30 初六

    13) 1.31 初七

    14) 2.1 初八

    15) 2.2 初九

    优化算法 SGD Momentum Nesterov AdaGrad RMSprop

    16) 2.3 初十

    优化算法Adam+总结
    导数 偏导数 方向导数 微分 偏微分 全微分 梯度
  80. 118. 杨辉三角

    17) 2.4 十一

  81. 1304. 和为零的N个唯一整数.py区分整除//与int(/)
  82. 1252. 奇数值单元格的数目注意初始化全零数组的写法
  83. 0561. 数组拆分 I
  84. 0905. 按奇偶排序数组TODO 交换写法 双指针解法 快排 etc
  85. 119. 杨辉三角 II选择index的时候要使用以后不会用的。如果正序,能用a[i] += a[i + 1],就不要用a[i - 1]
  86. 120. 三角形最小路径和 DP

    18) 2.5 十二

    (回溯)
  87. [46. 全排列]
  88. [47. 全排列 II]
    39.组合总和

  89. 组合总和 II

  90. 全排列 II

  91. 子集

  92. 子集 II

  93. 0102. 二叉树的层次遍历

  94. 107. 二叉树的层次遍历 II
  95. 637. 二叉树的层平均值
  96. 103. 二叉树的锯齿形层次遍历
  97. 111. 二叉树的最小深度
  98. 429. N叉树的层序遍历
  99. 19) 2.6 十三

    20) 2.7 十四

    21) 2.8 十五

    22) 2.9 十六

    23) 2.10 十七

    24) 2.11 十八

    25) 2.12 十九

    26) 2.13 廿

    27) 2.14 廿一

    28) 2.15 廿二

    29) 2.16 廿三

    30) 2.17 廿四

    31) 2.18 廿五

    32) 2.19 廿六

    33) 2.20 廿七

    34) 2.21 廿八

    35) 2.22 廿九

    36) 2.23 二月

    37) 2.24 初二