自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 回溯法

回溯法是一种枚举状态空间中所有可能状态的系统方法,它是一个一般性的算法框架解向量a=(a1, a2, ..., an),其中每个元素ai取自一个有限序列集Si,这样的解向量可以表示一个排列,其中ai是排列中的第i个元素,也可以表示子集S,其中ai为真当且仅当全集中的第i个元素在S中;甚至可以表示游戏的行动序列或者图中的路径。在回溯法的每一步,我们从一个给定的部分解a={a1, a2, ..

2012-08-30 22:17:21 968

原创 电话号码对应英语单词

对于号码5869872,可以依次输出其代表的所有字母组合,如JTMWTPA、JTMWTPB.....#include #include #include using namespace std;char keyBoard[10][10] ={ "", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv",

2012-08-28 20:50:58 1248

原创 矩阵链乘法

动态规划之矩阵链乘法。。。#include using namespace std;int columns[] = {30, 35, 15, 5, 10, 20, 25};const int size = sizeof columns / sizeof *columns;int m[size][size];int s[size][size];void getChainOrd

2012-08-26 21:25:00 1001

原创 发帖水王

关于发帖水王的求解,第一种解法是编程之美上的解法,第二种解法是寻找中位数,因为中位数必然超过一半,两种解法这里不再做解答扩展问题很好,有3个发帖很多的ID,他们的发帖数量都超过了帖子总数目N的1/4,找出他们的ID#include using namespace std;int array[] = {1, 2, 1, 1, 2, 3, 2, 2, 3, 3, 1, 3, 4, 5,

2012-08-26 15:49:41 8634

原创 N个骰子的点数

题目:把n个骰子仍在地上,所有点数#include using namespace std;const int g_maxValue = 6;const int number = 6;int array[(number - 1) * g_maxValue + 1];void probility(int original, int current, int sum, int

2012-08-26 12:45:33 1247

原创 随机化排列数组

这个题比较简单,也是我进百度一面的面试题~有两种算法:PERMUTE-BY-SORTING算法:PERMUTE-BY-SORTING(A) n = length[A]; for i = 1 to n do P[i]=RANDOM(1, n^3); sort A, using P as sort keys return A优先级数组为什么是RANDOM(1, n^3),原因是

2012-08-13 22:50:35 541

原创 概率p输出1,概率1-p输出0,等概率输出0和1

有个输出0和1的BIASED RANDOM,它以概率p输出1,以概率1-p输出0,以此RANDOM函数为基础,生成另一个RANDOM函数,该函数以1/2的概率输出1,以1/2的概率输出0题目解答:两次调用该RANDOM函数,如果其概率为P(x),调用2次P(1) = p       P(0) = 1-pP'(1) =p      P'(0) = 1-p概率如下:11  p*

2012-08-13 21:57:17 4899 2

原创 【再次通告】编程之美习题解答

编程之美算是带领本大虾入门算法的一部宝典,现在书上习题对于目前本大虾水平而言,显得很弱了点儿,但也不排除有些nb的题,本blog将在接下来的时间内对几道难题做详细分析与解答,也算终结此书,告一个段落!!!

2012-08-13 21:38:24 1387

原创 用Random(0,1)来实现Random(a,b)

算法导论习题5.1-2描述RANDOM(a, b)过程的一种实现,它只调用RANDOM(0, 1)。原理:算出a和b之间的差距d,求得最小的bit位数,使其恰好大于d,通过random(0, 1)来置位二进制位,然后加上a,如果该值落在[a, b]之间,满足条件,否则丢掉改值,继续寻找其他值!#include #include #include using namespac

2012-08-13 20:54:58 5359 1

原创 【通告】算法导论习题解答

本blog将在接下来2周内集中解决算法导论相关习题!当然,简单的题将不会给出解答,有一定难度的习题才会罗列出来,source code!!!

2012-08-13 20:53:24 707

转载 利用随机生成器[1,5]生成随机数[1,7]

利用随机生成器rand5()可以生成随机数[1,5]. (1,5)的随机数,可以产生(0,1)的随机数;7看成二进制111,用(0,1)产生的随机数分别对每位取值,如果取得的是000的话,舍去重新再取,得到的结果就是(1,7)之间的随机数.//generate zero or one randlyint rand2(){ int result =

2012-08-13 09:21:54 1086

原创 20120811完成剑指offer所有习题

剑指offer之面试题3#include using namespace std;const int rowSize = 4;const int colSize = 4;int array[rowSize][colSize] = { 1, 2, 8, 9, 2, 3, 9, 12, 4, 7, 10, 13, 6, 8, 11, 15};struct Pos

2012-08-11 09:53:47 2440 1

原创 编程之美之24点游戏

关于编程之美24点游戏的求解:思想很简单,把array[i]和array[i+1]求加减乘除等运算,然后将值写入array[i+1],不难发现是一个递归子过程,代码不难写,如下:#include #include using namespace std;int array[] = {1, 2, 3, 4};string arrayStr[] = {"1", "2", "3",

2012-08-10 22:30:24 767

原创 MD5代码

工作中需要生成md5,随手了个代码,确定是对的md5.h#ifndef MD5_H#define MD5_H#include #include /* Type define */typedef unsigned char byte;typedef unsigned long ulong;using std::string;using std::ifstream;

2012-08-10 17:42:53 1379

原创 计算字符串的相似度---编辑距离

编辑距离:又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten(k→s)sittin(e→i)sitting(→g)利用递归来求解算法:

2012-08-02 16:33:40 569

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除