C++
HerinaYang
这个作者很懒,什么都没留下…
展开
-
每日编程——最长子序列系列问题的求解
1.最长递增子序列 该问题旨在求解序列中最长子序列,子序列不同于子串,没有连续性要求,显然最长子序列具备最优子结构性质。 如何获取递推表达式呢? (1)状态是什么? 序列的长度,在序列长度由1~(1~len)变化过程中,最长子序列的长度怎么随之变化呢? (2)如何表示第i个状态和第i-1个状态之间的关系? opt(i)表示下标为0~i的序列的最长子序列,那么opt(i-1)表示下标为0~i-1的序列的最长子序列. opt(i)的大小取决于nums[i]与nums[0~i-1]的大小关系,可以写出递推表原创 2020-05-18 20:20:17 · 345 阅读 · 0 评论 -
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 评论 -
C 文件流 按空格读取单词
1.fscanf(FILE *f, String Formation,Char * str) 按照空格读取单词,Formation :字符串格式,读入 str;返回值为 int读取字符个数 Formation: %s:只读入字符 %d:只读整型数据 %[a-z]:只读在a-z范围内的26个小写字母 %[^a-z]:读除a-z外的字符,^为除……外 2.getc(FILE *strea...原创 2018-10-09 21:21:31 · 1274 阅读 · 0 评论