随笔分类 -  Algorithm

欢迎大家多多批评指正
摘要:思想:不断选取当前最优策略 区别:与上一篇所讲的动态规划有所不同,动态规划是指在多种策略下选取最优解,而贪心法只有一种策略。 例题一: 硬币问题 Description 有1元、5元、10元、50元、100元、500元的硬币各C1、C5、C10、C50、C100、C500枚。现在要用这些硬币来支付A 阅读全文
posted @ 2020-02-24 22:42 天子笑!分你一坛 阅读(509) 评论(0) 推荐(0) 编辑
摘要:在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔 阅读全文
posted @ 2020-02-20 17:13 天子笑!分你一坛 阅读(397) 评论(0) 推荐(0) 编辑
摘要:Make it work, make it right, make it fast. —— Kent Beck 此处前两句说的就是递归,后一句说的便是迭代。不得不承认递归大法确实简单易写,但是迭代法更加高效,快捷。 动态规划,可能听起来很陌生,但是换句话说就是递归得出初步结论后再用迭代的方式写出来。 阅读全文
posted @ 2020-02-20 15:17 天子笑!分你一坛 阅读(266) 评论(0) 推荐(0) 编辑
摘要:啥也不说,先上题!!! 二分查找 Description 给你n个整数和一个整数k。问:n个数中是否存在整数k,如果存在,输出“Yes”,否则输出“No”。 Input 输入包含多组测试用例,对于每组测试用例: 输入一个数字n (1 <= n <= 10^7) 接下来输入n个不同的数字Ai( |Ai 阅读全文
posted @ 2020-02-18 18:46 天子笑!分你一坛 阅读(190) 评论(0) 推荐(0) 编辑
摘要:To iterate is human, to reverse, divine. // 迭代乃人工, 递归显神通。 虽说如此,但是我们发现很多时候我们用到的是迭代,而不是递归 ??? 举个栗子 1.数组求和 1.1迭代法 1 int sum1(int A[], int n){ 2 int sum = 阅读全文
posted @ 2020-02-18 14:16 天子笑!分你一坛 阅读(246) 评论(0) 推荐(0) 编辑