ACM
文章平均质量分 82
youwuwei2012
这个作者很懒,什么都没留下…
展开
-
求一个整数的二进制中1的个数
题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。 一个很基本的想法是,我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到第一位了,再判断是不是1。这样每次移动一位,直到这个整数变成0为止。现在的转载 2014-06-09 22:45:16 · 513 阅读 · 0 评论 -
动态规划--最大连续子串问题
最大连续子串问题 首先,要明白子串和子序列的区别。 1)子串(Substring)是串的一个连续的部分; 2)子序列(Subsequence)则是从不改变序列的顺序,而从序列中去掉任意的元素而获得的新序列;(关于求最长子序列的算法见博客:动态规划(5)-字符串相似度算法)) 最大连续子串问题是给定一组元素,求使得连续子串的值最大,比如最大连续和子串、转载 2014-07-12 16:58:35 · 947 阅读 · 0 评论 -
加强版水王:找出出现次数刚好是一半的数字
加强版水王:找出出现次数刚好是一半的数字 1.用了两个变量来记录水王。 #include using namespace std; int Find(int* a, int N) { int candidate1,candidate2; int nTimes1, nTimes2, i; for(i = nTim转载 2014-07-11 17:50:19 · 999 阅读 · 0 评论