生而为人

程序员的自我修养

0%

解题思路模板:

这是经典的动态编程问题。这是一个可以使用的模板:

  • 定义答案显而易见的基本情况。
  • 制定根据简单的情况计算复杂情况的策略。
  • 将此策略链接到基本情况。

如何定义状态:

尝试题目问啥,就把啥定义成状态。

常见问题汇总

leetcode-518.零钱兑换2

leetcode-474.一和零

[toc]

链表类

LinkedHashSet

java

LinkedHashMap

java

数组类

Stack

Queue

[toc]

二叉树

普通二叉树

二叉搜索树

N叉树

数据结构

  1. 数组
  2. 链表
  3. 队列
  4. 散列表
  5. 二叉树
  6. 跳表
  7. Trie数

算法

  1. 递归
  2. 排序
  3. 二分查找
  4. 搜索
  5. 哈希算法
  6. 贪心算法
  7. 分治算法
  8. 回溯算法
  9. 动态规划
  10. 字符串匹配算法

算法题分类

链表

  1. 翻转
  2. 两两翻转
  3. 有序链表合并
  4. 链表加法
  5. 链表减法

字符串

  1. 加法
  2. 减法
  3. 字符串转double

二叉树

  1. 先、中、后序遍历,递归非递归
  2. 层次遍历
  3. 蛇形层次遍历,两个栈实现

  1. 队列实现栈

队列

  1. 栈实现队列

动态规划

  1. 股票买入时机
  2. 硬币拿取方式数量