摘要: 一、什么是动态规划 动态规划(DP)是一种用来解决一类最优化问题的算法思想。简单来说,动态规划将一个复杂的问题分解成若干个子问题,通过综合子问题的最优解来得到原问题的最优解。 二、动态规划的递归写法 以斐波那契(Fibonacci) 数列为例,斐波那契数列的定义为 F0=1,F1=1,Fn=Fn-1 阅读全文
posted @ 2018-02-08 19:42 Just_for_Myself 阅读(2470) 评论(0) 推荐(0) 编辑
摘要: 题目截图: 思路: 首先,只有尾数为 0,1,5,6 的数才可能为守形数,所以其他可以直接排除。然后对其他的数进行判断即可。 代码如下: 阅读全文
posted @ 2018-02-08 17:55 Just_for_Myself 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 题目截图: 思路: 链表详解请查看另一篇博客。只需要在输入数据的同时按序插入链表即可。 代码如下: 阅读全文
posted @ 2018-02-08 17:48 Just_for_Myself 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 题目截图: 思路: 定义一个结构体,然后使用 C 语言内置的 qsort 函数,需要自定义 cmp 函数。详情见另一篇博客。 代码如下: 阅读全文
posted @ 2018-02-08 17:38 Just_for_Myself 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 一、堆的定义与基本操作 堆是一棵完全二叉树,树中每个结点的值都不小于(或不大于)其左右孩子结点的值。其中,如果父亲结点的值大于或等于孩子结点的值,那么称这样的堆为大顶堆,这时候每个结点的值都是以它为根结点的子树的最大值;如果父亲结点的值小于或等于孩子结点的值,那么称这样的堆为小顶堆,这时候每个结点的 阅读全文
posted @ 2018-02-08 10:31 Just_for_Myself 阅读(273) 评论(0) 推荐(0) 编辑