求职
HerinaYang
这个作者很懒,什么都没留下…
展开
-
Diaries Algorithm-零钱兑换
1 换硬币问题 给定任意问题,我们总能找到该问题最简单的案例,针对简单的例子,我们往往能很快得到答案。再考虑难一些的例子,即更常规的例子,我们如何解决呢?显然,我们希望大事化小,小化了,因此,我们首先考虑原问题是否可分为子问题?显然该问题是由子问题amount-1的最优解组成。具备最优子结构性质的问题往往用动态规划解决。此外,另一个十分重要的问题就是如何确定递推表达式,也称为状态转移方程。如何确...原创 2020-05-02 23:43:36 · 172 阅读 · 0 评论 -
每日算法——动态规划之Fibonacci数列
Outline Fibonacci数列问题 最优子结构和递推表达式 Fib问题的各类变种 青蛙跳-台阶跳 硬币找零问题(敬请期待) 一、Fibonacci数列 1.1 最优子结构和递推表达式 在很多生活场景中,我们都会遇到求解F(n) = F(n-1) + F(n-2)这类问题。它是一类非常重要的经典的简单的动态规划问题。首先F(n)的解是由F(n-1)和F(n-2)组成,而F(n-1)的解是由F...原创 2020-05-02 11:12:21 · 530 阅读 · 0 评论 -
0428HW技术面试算法题
问题: 求一个集合的所有子集 讨论: 暴力情况下2n幂指数的复杂度,2n个子集。发现其中的规律:某一个元素存在与否可以作为选择子集的基本方法,元素存在和不存在为两者情况。值得注意的是,重复元素怎么办?先保留这个问题,从一般再到特殊。因此思路就出来了:对集合中的元素从头开始遍历,选该元素,进到子集集合中,不选该元素,开始考虑后一元素。为提高效率,选择Vector的 emplace_back更新子集,...原创 2020-04-29 23:14:24 · 235 阅读 · 0 评论