贪心理论 由局部最优推导到全局最优,这就是贪心的策略。 在什么时候使用贪心算法?可以试一试贪心,若无法证伪,则使用。 经典题目 455 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i](,)这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸…
理论基础 回溯法的本质是穷举,它在解决以下问题中经常会被用到。 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数独等等 组合和排列的区别 组合不强调元素顺序,对于组合来说{1,2}和…
二叉树的层序遍历往往用在求树宽,求树深的一类题中会频繁用到。 思想:使用一个队列,出队的同时将节点的左右孩子都入队即可 注意遍历时先取出一层的size,否则随着左右孩子入队,其size会动态变化 class Solution { public: vector<vector<int>> levelOrder(TreeNode*…