摘要: 题目:在一个mXn的棋盘的每一格放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向左或者向下移动一格,直到到达棋盘的右下角。给定一个棋盘及其上面的礼物,请计算你最多能拿到多少价值的礼物? 1 10 3 8 12 2 9 6 5 7 4 11 3 7 阅读全文
posted @ 2017-08-16 23:50 Cloud_strife 阅读(205) 评论(1) 推荐(0) 编辑
摘要: 在网上查了另外一种方法,其实也算同一种。有一些动态规划的思想。代码如下: 参考http://blog.csdn.net/nciaebupt/article/details/8482077 代码。灰常感谢! 阅读全文
posted @ 2017-08-16 20:44 Cloud_strife 阅读(144) 评论(0) 推荐(0) 编辑
摘要: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2} 阅读全文
posted @ 2017-08-16 18:28 Cloud_strife 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 最小堆 最大堆 实现类 阅读全文
posted @ 2017-08-16 11:27 Cloud_strife 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 求TOP K数据问题。 一般的思路是,求最小值,用最大堆,求最大值,用最小堆。 拿球最大值来看。用最小堆,先对一个数组的前K个数组进行一个建堆操作,建立最小堆。然后对剩余数组进行选择,如果比堆中最小值的数据大,则替换最小值,然后更新堆,如果比最小值还小,则丢弃。 下面给出代码。我先贴上最小堆的代码。 阅读全文
posted @ 2017-08-16 00:32 Cloud_strife 阅读(148) 评论(1) 推荐(0) 编辑