求解问题如下:在本地磁盘里面有file1和file2两个文件,每一个文件包含500万条随机整数(可以重复),最大不超过2147483648也就是一个int表示范围。要求写程序将两个文件中都含有的整数输出到一个新文件中。要求: 程序的运行时间不超过5秒钟。 没有内存泄漏。 代码规范,能要考虑到出错情况。 代码具有高度可重用性 w397090770 12年前 (2013-04-03) 6935℃ 3评论5喜欢
程序的问题:已知数组a[n],求数组b[n].要求:b[i]=a[0]*a[1]*……*a[n-1]/a[i],不能用除法。a.时间复杂度O(n),空间复杂度O(1)。 b.除了迭代器i,不允许使用任何其它变量(包括栈临时变量等)大家有什么解法?先不要看我下面的解法。希望大家讨论讨论一下,留个言,一起交流一下。下面给出我的解法一:[code lang="CPP"]#include <stdio. w397090770 12年前 (2013-04-03) 4275℃ 0评论3喜欢
题目描述:将一个长度超过100位数字的十进制非负整数转换为二进制数输出。输入:多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出:每行输出对应的二进制数。样例输入:0138样例输出:01111000分析:这个数不应该存储到一个int类型变量里面去 w397090770 12年前 (2013-04-03) 5965℃ 0评论5喜欢
题目以及要求:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。我的实现类似冒泡排序。[code lang="CPP"]#include <stdio.h>#include <string.h>// Author: 397090770// E-mail:wyphao.2007@163.com// Blog: // Date: 2012/09/29//题目以及要求:把一个字符串的大写字母放到字符串的后面,// w397090770 12年前 (2013-04-02) 3918℃ 0评论1喜欢
堆常用来实现优先队列,在这种队列中,待删除的元素为优先级最高(最低)的那个。在任何时候,任意优先元素都是可以插入到队列中去的,是计算机科学中一类特殊的数据结构的统称一、堆的定义最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是 w397090770 12年前 (2013-04-01) 4892℃ 0评论3喜欢
假设有k个称为顺串的有序序列,我们希望将他们归并到一个单独的有序序列中。每一个顺串包含一些记录,并且这些记录按照键值的大小,以非递减的顺序排列。令n为k个顺串中的所有记录的总数。并归的任务可以通过反复输出k个顺串中键值最小的记录来完成。键值最小的记录的选择有k种可能,它可能是任意有一个顺串中的第1个 w397090770 12年前 (2013-04-01) 6773℃ 2评论7喜欢
学过计算机编程的就知道,在计算机中,浮点数是不可能用浮点数精确的表达的,如果你需要精确的表达这个小数,我们最好是用分数的形式来表示,而且有限小数或无限小数都是可以转化为分数的形式。比如下面的几个小数:[code lang="bash"]0.3333(3) = 1/3的(其中括号中的数字是表示循环节)0.3 = 3 / 100.25 = 1 / 40. 285714(285714) = w397090770 12年前 (2013-03-31) 5478℃ 1评论8喜欢
我们知道,电脑里面的10000的数阶乘结果肯定是不能用int类型存储的,也就是说,平常的方法是不能来求得这个结果的。下面,我介绍一些用向量来模拟这个算法,其中向量里面的每一位都是代表一个数。[code lang="CPP"]#include <iostream>#include <vector>using namespace std;//就是n的阶乘void calculate(int n){ vector<int> v w397090770 12年前 (2013-03-31) 3901℃ 0评论5喜欢
思想是编程之美上面的,我只是做了一点点优化。。。许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程序。我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:1.修改一个字符(如把“a”替换为“b”); 2.增加一个字符(如把“abdd”变为“aebdd”); 3.删除一个字 w397090770 12年前 (2013-03-31) 5388℃ 0评论8喜欢
题目要求:实现一个加法器,使其能够输出a+b的值。输入:输入包括两个数a和b,其中a和b的位数不超过1000位。输出:可能有多组测试数据,对于每组数据,输出a+b的值。样例输入:2 610000000000000000000 10000000000000000000000000000000样例输出:810000000000010000000000000000000我的实现:[code lang="CPP"]#include <iostream>#inclu w397090770 12年前 (2013-03-31) 3248℃ 0评论5喜欢