
算法
文章平均质量分 59
lqsohu
这个作者很懒,什么都没留下…
展开
-
编程珠机 第二章 找出一个不在文件中一32位整数。
给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中一32位整数。 该题目有2个问题, 1, 在内存足够的情况下, 使用位图法就可以 但是需要500多M的内存空间 2. 在没有足够内存的情况下 如何解决, 采用二分法。 思考: 是否可以从第三轮就得到想要的结果 不再循环下去,否则一直要等待bit最后一位循环结束! 第一轮 splitA1 8 13原创 2013-08-06 08:23:26 · 710 阅读 · 0 评论 -
编程珠机 第二章 字符串循环移位
#include void reverse(char *str, int len){ if(len==0||str=="") return; int i; char t; for(i=0; i t = str[i]; str[i] = str[len-i-1]; str[len-i-1原创 2013-08-09 15:21:47 · 630 阅读 · 0 评论 -
编程珠玑 第二章 习题 2 给定一个包含4300000000个32位证书的顺序文件,求出一个至少包含两次的整数
解:原创 2013-08-15 23:56:53 · 768 阅读 · 0 评论 -
计算整数二进制中1的最大间隔是多少?
#includeint solution(int N) { if (N >1 != 0){ bitlen++; printf( " bitlen = %d\n", bitlen); temp = temp>>1; } for (i =0; i < bitlen; i++){ if (N%2 == 1){ if (gap >1; } return gap;}void main (){ print原创 2013-09-09 23:30:55 · 924 阅读 · 0 评论 -
计算数组中元素取绝对值后不重复的个数
#include int solution(int A[], int N) { // write your code here... if (N return -1; int A1[12500], i, ret = 0; for (i=0; i A1[i] = 0; }原创 2013-09-09 15:35:15 · 643 阅读 · 0 评论 -
计算数组中的平衡因子
A[0] + A[1] + ... + A[P−1] = A[P+1] + ... + A[N−2] + A[N−1].0 ≤ P < N P 即为所求 时间 空间复杂度都为o(n) #include int solution(int A[], int N) { // write your code here... if (N return -1;原创 2013-09-10 15:19:04 · 1222 阅读 · 0 评论