04 2013 档案

摘要:题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。在原来的字符串上替换,并保证输入的字符串后面有足够的空余内存。思路:解法一:最容易想到的就是当遇到空格时,将后面的字符向后面移动2位。此方法的时间复杂度为O(N^2)。解法二: 首先遍历字符串,统计字符串中的空格数目,计算新的字符长度 newLen = oldLen + 2 * 空格数; 依次从字符串后面开始复制,分别用p1,p2指向旧新字符串的末尾,当遇到空格时,依次赋值‘0’,‘2’,‘%’;当p1 == p2时,过程终止(p1,p2之前的都.. 阅读全文
posted @ 2013-04-30 19:00 hust_枫 阅读(325) 评论(0) 推荐(0) 编辑
摘要:题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如,数组为1 2 8 92 4 9 124 7 10 136 8 11 15如果在数组中查找数字9,则返回true;如果查找数字20,则返回false。思路:元素是分别按行按列递增,但是每一行(列)的元素不一定都比前一行(列)元素大。因此,我们要利用元素的排列特点,按照一定的规律去寻找元素。由于已经知道每一列是从上到下递增排序,我们先选左下角的第一个元素,即第一列的最大值,作为起始元素(记为p=a[row][col])比较 阅读全文
posted @ 2013-04-30 17:16 hust_枫 阅读(209) 评论(0) 推荐(0) 编辑
摘要:题目:现有N个区间[a1,b1],...,[aN,bN],若区间有重叠则合并,要求输出最终的区间结果。(合并后有多个区间则输出多个区间)sample:现有区间[4, 9], [8, 10], [15, 20], [1, 16], 合并后的区间为[1, 20]。解题思路:定义数据结构:1 struct myDataType2 {3 unsigned int a;4 unsigned int b;5 bool flag;6 };接着按区间左端点将区间排序,再从前往后依次判断相邻两区间(假设分别为区间p1,p2)是否有重叠(Overlap),若有重叠,则更新后一个区间(p2)... 阅读全文
posted @ 2013-04-30 16:18 hust_枫 阅读(1041) 评论(0) 推荐(1) 编辑
摘要:单精度浮点数: 1位符号位 8位阶码位 23位尾数双精度浮点数: 1位符号位 8位阶码位 52位尾数实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的位数。比如32位机上float型为23位 double型为52位。单精度float型存储在内存中的大小为4个字节,即32位。浮点表示的一般形式为:R=M*2^e (R:Real M:Mantissa尾数 e:exponent阶码)把上面float的二进制可分成三部分: x xxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx数符(1b) 阶码(8b) 尾数(23b)double型的浮点数分别是:数符(1b)、 阅读全文
posted @ 2013-04-04 12:10 hust_枫 阅读(463) 评论(0) 推荐(0) 编辑
摘要:C++类静态成员与类静态成员函数当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。静态数据成员的用途之一是统计有多少个对象实际存在。静态数据成员不能在类中初始化,实际上类定义只是在描述对象的蓝图,在其中指定初值是不允许的。也不能在类的构造函数中初始化该成员,因为静态数据成员为类的各个对象共享,否则每次创建一个类的对象则静态数据成员都要被重新初始化。静态成员不可在类体内进行赋值, 阅读全文
posted @ 2013-04-01 09:23 hust_枫 阅读(266) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示