项目组织结构如下:
- leetcode
- x{leetcode题目编号}
* readme.me <- 讲解思路,并给出原题链接
* code.py <- 代码
- tests (包含一些测试,但是目前非常不完整。。。)
- 455. Assign Cookies
- 135. Candy
- 435. Non-overlapping Intervals
- 605. Can Place Flowers
- 452. Minimum Number of Arrows to Burst Balloons
- 763. Partition Labels
- 122. Best Time to Buy and Sell Stock II
- 406. Queue Reconstruction by Height
- 1. Two Sum
- 3. Longest Substring Without Repeating Characters
- 167. Two sum
- 142. Linked List Cycle II
- 76. Minimum Window Substring (Hard)
- 633. Sum of Square Numbers
- 524. Longest Word in Dictionary through Deleting
- 88. Merge Sorted Array
- 69. Sqrt(x)
- 34. Find First nd Last Position of Element in Sorted Array
- 81. Search in Rotated Sorted Array II
- 154. Find Minimum in Rotated Sorted Array II
- 基本算法
- 215. Kth Largest Element in an Array
- 347. Top K Frequent Elements
- 451. Sort Characters By Frequency
- DFS
- Backtrack
- BFS
- Binary Tree
动态规划问题和搜索问题有很多共同的地方
通俗一点来讲,动态规划和其它遍历算法(如深/广度优先搜索)都是将原问题拆成多个子问 题然后求解,他们之间最本质的区别是,动态规划保存子问题的解,避免重复计算。解决动态规 划问题的关键是找到状态转移方程,这样我们可以通过计算和储存子问题的解来求解最终问题。同时,我们也可以对动态规划进行空间压缩,起到节省空间消耗的效果。这一技巧笔者将在 之后的题目中介绍。
- 一维
- 二维
- 分割类型
- 背包问题
- 股票交易类问题
- [121. Best Time to Buy and Sell Stock]