0-1背包问题
摘要:问题: 有N件物品和一个容量为V的背包。第i件物品的价值是c[i],重量是w[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。 这个问题的特点是:每种物品只有一件,可以选择放或者不放。用f[i][j]表示背包当前容量为j,选择装入1-i个物品时的最大价值 在求最优解
阅读全文
posted @
2016-05-06 19:18
小菜鸡y
阅读(328)
推荐(0)
计算字符串相似度
摘要:问题:给定一个源串和目标串,能够对串进行如下操作:(2012百度、google) 1.在给定位置上插入一个字符 2.替换任意字符 3.删除任意字符 写一个程序,返回最小操作数,使得进行这些操作后源串等于目标串,源串和目标串的长度都小于2000 类似的表述形式如下: 许多程序会大量使用字符串。对于不同
阅读全文
posted @
2016-05-06 15:55
小菜鸡y
阅读(287)
推荐(0)
LCS最长公共子序列
摘要:问题:最长公共子序列不要求所求得的字符串在所给字符串中是连续的,如输入两个字符串ABCBDAB和BDCABA,字符串BCBA和BDAB都是他们的公共最长子序列 该问题属于动态规划问题 解答:设序列X=<x0,x1,...,xm>和Y=<y0,y1,...,yn>的一个最长公共子序列为Z=<z0,z1
阅读全文
posted @
2016-05-06 11:14
小菜鸡y
阅读(222)
推荐(0)
删除字符串中重复的字符
摘要:1.任意字符串,删除重复字符 2.字符串中只包含小写字母‘a'-'z' 注:该方法仅适用于字符串全部为小写字母或全部为大写字母的情况,int为32位,可以表示26个字母
阅读全文
posted @
2016-04-25 22:37
小菜鸡y
阅读(684)
推荐(0)
数组中一个数字出现的次数超过了数组长度的一半,请找出这个数
摘要:算法: 1)初始化,设当前数组为arr[],长度为n,当前元素cur=arr[0],元素出现次数为count; 2)遍历数组,若count==0,设cur=arr[i],count=1;否则,转向3) 3)若arr[i]==cur,则count++,否则,转向4) 4)count--,当i==n-1
阅读全文
posted @
2016-04-25 17:48
小菜鸡y
阅读(531)
推荐(0)
输出数组中大于等于左边所有数且小于等于右边所有数的元素
摘要:Question: 一个int数组,;一面数据无任何限制,要求求出所有这样的数a[i],其左边数数都小于等于它,右边的数都大于等于它
阅读全文
posted @
2016-04-25 17:16
小菜鸡y
阅读(1235)
推荐(0)