编程之美
文章平均质量分 71
tripleTu
这个作者很懒,什么都没留下…
展开
-
左移字符串
定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。(1)递归方法原创 2013-10-18 16:21:25 · 697 阅读 · 0 评论 -
在字符串中找第一个出现一次的字符
#include #include #include using namespace std;char findFirstOnce(char* a){ if(!a) return 'N'; int length=0,offset=0; int* num = (int*) malloc(26*sizeof(int)); memset(num,0,26*sizeof(int));原创 2013-11-06 09:41:44 · 456 阅读 · 0 评论 -
01背包问题
基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}当前的最优解=Max((当前容量)不放入当前物品的最大值,(当前容量-当前物品容量)情况下的最大值+当前物品价值原创 2013-11-06 16:29:19 · 295 阅读 · 0 评论