算法
fyy607
这个作者很懒,什么都没留下…
展开
-
背包九讲
P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便转载 2015-08-27 15:52:21 · 280 阅读 · 0 评论 -
程序员面试金典(java版)
原题: 实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。 给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true 分析: 因为只能访问改节点,没法找到前一个节点进行删除,参照了别人的一个很巧妙的思路,就是把该节点变成他的后继节点,然后指向再下一个几点,也就变成删除了他的后继节点。 代码如下: public class Rem原创 2017-02-02 19:58:15 · 328 阅读 · 0 评论