摘要: 树的遍历是数据结构最基本的问题之一。 前序遍历: 先遍历根节点 -> 左孩子 -> 右孩子 (根左右) 中序遍历: 左孩子 -> 遍历根节点 -> 右孩子 (左根右) 后序遍历: 左孩子 -> 右孩子 -> 最后遍历根节点 (左右根) 递归的每一步都是一个子问题,即树是由根与其左子树,右子树构成的, 阅读全文
posted @ 2018-01-22 20:09 proscientist 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 题意:换零钱,求找开某个面值至少需要多少枚零钱 例如:有面值1,4,6的硬币无限枚,现需要找开面值8,有两种方案,1+1+6和4+4,则至少需要两枚零钱可找开8元面额。 题解: (一)使用N^2的动态规划,略优于深度优先遍历 用opt[N]表示换零N面值至少需要的枚数,data[k]数组存放给定的k 阅读全文
posted @ 2018-01-22 15:05 proscientist 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 这次的题目是VH难度,难度很大,不过啃下来的收获也颇多。 题意: 给出3*10^5个员工的工资,工资范围10^9,所有员工的工资必须满足如下约束:每个员工的工资不能高于其上司的工资,否则就要给其上司涨工资,使上司的工资和下属相同。 先一次给出每个员工的上司信息和工资,求涨工资的总次数。 详细描述如下 阅读全文
posted @ 2018-01-10 09:59 proscientist 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 文章出自GRE黑皮书,王耕伟老师原创,侵删。 In regard to the magic code to success in professions and academic fields, the statement assigns more significance to imaginati 阅读全文
posted @ 2018-12-06 21:09 proscientist 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 文章出自GRE黑皮书,王耕伟老师原创,侵删。 Puzzled by perplexing paintings, we are nevertheless enamored by a painter’s impressive strokes, while the meaning of a poem ma 阅读全文
posted @ 2018-12-06 21:05 proscientist 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 题目大意:在一个10x15的方阵里填满了RGB三种小球,要求:1、找到最大的一片相同颜色区域,并删掉,(这片区域相同颜色球必须相邻,且相邻数大于1)。2、删除完成后,其他小球自然下落填充。先每列向下填充,空的列由右边一列平移补全。3、当区域内没有球或最大相邻区域的个数为一,游戏结束。 题解: 主函数 阅读全文
posted @ 2018-02-24 15:11 proscientist 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 目标: 在file目录中创建文件,写入文本信息。用于和App之间进行数据共享。 经过关键字的搜索,发现都是推荐的以下方法: 其中: name:用于指定文件名称,不能包含路径分隔符“/”,如果文件不存在,Android会自动创建它。比如 info.txt 创建的文件保存在/data/data/<pac 阅读全文
posted @ 2018-02-13 17:44 proscientist 阅读(25302) 评论(0) 推荐(0) 编辑
摘要: 这个项目是2016年自学Android时制作的小程序,比较简陋,这里只是分享一下,欢迎大家改进。 基本要求: 1、自制音乐播放器的Demo,实现播放列表,播放、暂停、切歌、进度条,播放顺序等基本功能 2、对MusicPlayer进一步完善添加附加功能,如快进快退,搜索,开启动画 主体界面如下: 主界 阅读全文
posted @ 2018-01-16 14:37 proscientist 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 背包问题九讲非常有助于入门动态规划,但是来源出处不可考,以下仅列出个人认为其中很有帮助的节选: 背包问题与动态规划的基本思想 网上有很多关于背包问题和动态规划的代码实现文章,但是如何理解动态规划的思想才是最关键的,尤其如何理解成这是一个多阶段的决策过程尤为重要,下面的这个动态规划讲解非常好,主要从两 阅读全文
posted @ 2018-01-16 11:56 proscientist 阅读(1207) 评论(0) 推荐(0) 编辑
摘要: Making N Dollars 拼凑面值N 题意:有面值为1~100的硬币,每种面值不限个数,求有多少种解法 思路:用data[num][coin]记录用硬币1~coin拼面额为num的价值所需的硬币数。从大面额开始,最多使用step=num/coin枚,最少使用0枚,则排除一种硬币。 该大面额硬 阅读全文
posted @ 2018-01-16 11:33 proscientist 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 题意:一些不同价值和一定数量的硬币,求用这些硬币可以组合成价值在[1 , m]之间的有多少。 分析:初始 d[] 为负无穷,然后多重背包,最后统计d[]中有多少是大于0的。 递归方程只需将完全背包题目的方程略微修改,因为对于第i种物品有n[i]+1种策略:取0件,取1件……取n[i]件。有状态转移方 阅读全文
posted @ 2018-01-16 10:44 proscientist 阅读(371) 评论(0) 推荐(0) 编辑