摘要: 归并排序算法(mergesort)是将一个序列划分为同样大小的两个子序列,然后对两个子序列分别进行排序,最后进行合并操作,将两个子序列合成有序的序列.在合成的过程中,一般的实现都需要开辟一块与原序列大小相同的空间,以进行合并操作。这儿有比较全的排序算法:http://www.cnblogs.com/... 阅读全文
posted @ 2012-11-07 13:01 Mr.Rico 阅读(845) 评论(0) 推荐(0)
摘要: 数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考,如果您有更好的题目或者想法,欢迎留言讨论。 数组求和 求数组的最大值和最小值 求数组的最大值和次大值 求数组中出现次数超过一半的元素 求数组中元素的最短距离 求两个有序数组的共同元素 求三个数组的共同元素 找出数组中唯一的重复元素 找出出现奇数次的元素 求数组中满足给定和的数对 最大子段和 最大子段积 数组循环移位 字符串逆序 组合问题 ... 阅读全文
posted @ 2012-11-07 12:51 Mr.Rico 阅读(1114) 评论(0) 推荐(0)
摘要: 4.1 金刚坐飞机问题 4.2 瓷砖覆盖地板 4.3 买票找零(Catalan数) 4.4 点是否在三角形内 4.5 磁带文件存放优化 4.6 桶中取黑白球 4.7 蚂蚁爬杆 #if 0void calc_time(double len,double* pos,int n,doubl... 阅读全文
posted @ 2012-11-07 10:48 Mr.Rico 阅读(285) 评论(0) 推荐(0)
摘要: 3.1. 字符串移位包含问题方法1:分别对字符串进行循环移1位,2位,3位…,来判断给定的字符串是否是其中一个字串.复杂度是O(n^3)方法2:这也是一种利用空间换时间的方法.代码如下, 为了简便实现,采用了C库中的字符串操作函数:#if 0/* * 3.1 */bool isRotate(char... 阅读全文
posted @ 2012-11-07 10:47 Mr.Rico 阅读(263) 评论(0) 推荐(0)
摘要: 2.1 求二进制数数中1的个数2.2 不要被阶乘吓到2.3 寻找发帖”水王”这个问题就是寻找数组中总数超过一半的数.现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数。第1种方法:创建一个hash_map,key为数组中的数,value为此数出现的次数。遍历一遍数组... 阅读全文
posted @ 2012-11-07 10:34 Mr.Rico 阅读(312) 评论(0) 推荐(0)
摘要: 1. 使CPU占有率画出正弦曲线linux下的代码:#if 0/* * Q1.1 */int get_tick_count(){ struct timeval tv; gettimeofday(&tv,NULL); return tv.tv_sec*1000000+tv.tv_us... 阅读全文
posted @ 2012-11-07 10:12 Mr.Rico 阅读(272) 评论(0) 推荐(0)
摘要: #if 0int GetFirstK(int* data, int length, int k, int start, int end);int GetLastK(int* data, int length, int k, int start, int end);int GetNumberOfK(i... 阅读全文
posted @ 2012-11-07 10:04 Mr.Rico 阅读(247) 评论(0) 推荐(0)
摘要: 代码如下:#if 0bool g_bInputInvalid = false;bool CheckInvalidArray(int* numbers, int length){ g_bInputInvalid = false; if(numbers == NULL && length... 阅读全文
posted @ 2012-11-07 09:54 Mr.Rico 阅读(204) 评论(0) 推荐(0)
摘要: #if 0void MirrorRecursively(BinaryTreeNode *pNode){ if(pNode==0||pNode->m_pLeft==0&&pNode->m_pRight==0) return ; swap(pNode->m_pLeft,pNod... 阅读全文
posted @ 2012-11-07 09:43 Mr.Rico 阅读(197) 评论(0) 推荐(0)
摘要: 第3章 高质量代码3中错误处理的方法面试题11: 数值的整数次方bool g_InvalidInput = false;bool equal(double num1, double num2);double PowerWithUnsignedExponent(double base, unsigne... 阅读全文
posted @ 2012-11-07 08:57 Mr.Rico 阅读(235) 评论(0) 推荐(0)
摘要: 面试题1: 赋值运算符函数一般的写法是如下形式:CMyString& operator=(const CMyString& str){ if(this!=&str){ delete[] m_pData; int sz=... 阅读全文
posted @ 2012-11-07 08:47 Mr.Rico 阅读(330) 评论(0) 推荐(0)