
算法
文章平均质量分 50
qjpcpu
这个作者很懒,什么都没留下…
展开
-
C#与数据结构--树论--平衡二叉树(AVL TREE)
http://www.cnblogs.com/abatei/archive/2008/11/17/1335031.html转载 2012-04-24 10:12:04 · 958 阅读 · 0 评论 -
1000瓶水中找 出有毒的那瓶,毒性一周后发作,一周内最少需要多少只老鼠
转载自:http://blog.youkuaiyun.com/zzran/article/details/8083386全文如下:这个题是对bit位的应用,1000接近1024,所以需要10个bit位,对瓶子进行编号,从0到999,这样需要10只老鼠。瓶子的编号分别为:00000,0000000000,0000100000,00010,00000,00011转载 2012-10-18 16:07:13 · 3618 阅读 · 0 评论 -
求二进制数中1的个数
来自《编程之美》 以10100001来举例。如果只考虑和1的个数相关,那么,我们能否在每次判断中,仅与1来进行判断呢?为了简化问题,我们考虑只有一个1的情况。例如:01000000。如何判断给定二进制数里面有且仅有一个1呢?可以通过判断这个数是否是2的整数次幂来实现。另外,如果只和这一个“1”进行判断,如何设计操作呢?我们知道,如果进行这个操作,结果为0或1原创 2012-10-22 13:55:07 · 989 阅读 · 0 评论 -
找出缺失的数
问题:10亿个数,只有一个数出现一次,其他出现了两次,找出这个数。 利用Xθ0=X, XθX=0 (θ代表异或)。可以将这10亿个数求异或,即x1θx2θ.............xn得到的结果即为出现一次的数。控件O(1), 时间O(N) 另外位图法也是不错的尝试。原创 2012-11-29 10:58:11 · 729 阅读 · 0 评论 -
求二进制数的掩码
问题:要求出二进制数(此处限定为非负整数)的掩码,比如对于十进制数5,写成二进制为101,则其掩码为111即十进制数7,对于十进制数23(10111)其掩码为31(11111)。 任意非负整数m都满足,而即为m的掩码,如,而5的掩码即为。因此我们的思路其实就是找到这个K值就能求出掩码。 方法1: 直接求取。 直接利用库函数的对数运算原创 2012-12-02 15:09:59 · 4377 阅读 · 0 评论 -
动态规划求编辑距离
编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten (k→s)sittin (e→i)sitting (→g) 动态规划是解决该问题的常用思路。 首先,初原创 2012-11-24 00:23:13 · 764 阅读 · 0 评论 -
动态规划--计划一个公司聚会
转载自:http://blog.youkuaiyun.com/wenlei_zhouwl/article/details/5992704问题:Stewart教授是一家公司总裁的顾问,这家公司计划一个公司聚会。这个公司有一个层次结构;也就是,管理关系形成一棵以总裁为根的树。人事部给每个雇员以喜欢聚会的程度来排名,这是一个实数。为了使每个参加者都喜欢这个聚会,总裁不希望一个雇员和他(她)的直接上司同时参加。转载 2012-11-24 12:16:50 · 1055 阅读 · 0 评论 -
动态规划--整齐打印
转载自:http://blog.youkuaiyun.com/wenlei_zhouwl/article/details/5992367问题:考虑在一个打印机上整齐地打印一段文章的问题。输入的正文是n个长度分别为L1、L2、……、Ln(以字符个数度量)的单词构成的序列。我们希望将这个段落在一些行上整齐地打印出来,每行至多M个字符。“整齐度”的标准如下:如果某一行包含从i到j的单词(i分析:转载 2012-11-24 12:15:43 · 849 阅读 · 0 评论 -
动态规划_求最长公共子序列LCS
学习动态规划有段时间了,我自己的感觉是看到题解很明白,但是拿到新题就后脑冒汗了,费解!我知道这其实是理解不深的缘故,动态规划是解决一类问题的方法,而不是解决某个问题的解法。今天我试着去感觉一下怎么去思考LCS的动态规划解。 问题给出:给定了两个序列X=和Y=,希望找出X和Y的最大长度公共子序列(Longest Common Sequence, LCS)。 那么第原创 2012-11-25 09:27:02 · 790 阅读 · 0 评论