摘要:
算法1:采用动态规划法判断子串是否是回文。开辟一个P[i][j]用来表示str[i..j]是否为回文,P[i][j]的状态转移方程如下:当i==j时,P[i][j]=true当i+1==j时,P[i][j]= (str[i]==str[j])其他,P[i][j]= P[i+1][j-1]&&(str[i]==str[j])算法2:字符串的最长回文子串就是该字符串与其逆字符串的最长公共子字符串 阅读全文
posted @ 2013-10-19 23:41
姚来飞
阅读(260)
评论(0)
推荐(0)
摘要:
[问题]在不知道文件总行数的情况下,如何从文件中随机的抽取一行?[解析]首先想到的是我们做过类似的题目吗?当然,在知道文件行数的情况下,我们可以很容易的用C运行库的rand函数随机的获得一个行数,从而随机的取出一行,但是,当前的情况是不知道行数,这样如何求呢?我们需要一个概念来帮助我们做出猜想,来使得对每一行取出的概率相等,也即随机。这个概念即蓄水池抽样(Reservoir Sampling)。 有了这个概念,我们便有了这样一个解决方案:定义取出的行号为choice,第一次直接以第一行作为取出行choice,而后第二次以二分之一概率决定是否用第二行替换choice,第三次以三分之一的概率决定. 阅读全文
posted @ 2013-10-19 22:17
姚来飞
阅读(391)
评论(0)
推荐(0)

浙公网安备 33010602011771号