上一页 1 2 3 4 5 6 7 8 ··· 23 下一页
摘要: 1. multiset操作这儿是对STL各个容器的相关介绍. http://www.cplusplus.com/reference/stl/multiset比较重要的操作就是: insert, erase, count和find2. memcpy实现void *Memcpy(void *dst, c... 阅读全文
posted @ 2012-11-09 21:10 Mr.Rico 阅读(2063) 评论(0) 推荐(0)
摘要: 首先我们来一道最简单的题目作为引子 1、已知有一个随机函数rand_0_and_1_with_p(),它能以概率p产生0,以概率1 - p产生1,只使用该函数,设计一新的随机函数,要求以等概率产生1和0。 我们知道,运行rand_0_and_1_with_p()函数一次,那么P(0) = p... 阅读全文
posted @ 2012-11-08 15:54 Mr.Rico 阅读(664) 评论(0) 推荐(0)
摘要: Buddy System是一种经典的内存管理算法. 在Unix和Linux操作系统中都有用到. 其作用是减少存储空间中的空洞, 减少碎片, 增加利用率. 在Webus空间管理组件(WSM)中, 我也提供了Buddy System的实现, 关于这种算法的详细描述, 建议大家看经典教材 " 数据结构" ... 阅读全文
posted @ 2012-11-08 12:06 Mr.Rico 阅读(3663) 评论(0) 推荐(1)
摘要: 归并排序算法(mergesort)是将一个序列划分为同样大小的两个子序列,然后对两个子序列分别进行排序,最后进行合并操作,将两个子序列合成有序的序列.在合成的过程中,一般的实现都需要开辟一块与原序列大小相同的空间,以进行合并操作。这儿有比较全的排序算法:http://www.cnblogs.com/... 阅读全文
posted @ 2012-11-07 13:01 Mr.Rico 阅读(845) 评论(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)
摘要: 最长公共子序列LCS采用动态规划的方法:问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0,y1,…,yk-1”是X的子序列,存在X的一个严格递增下标序列,使得对所有... 阅读全文
posted @ 2012-10-17 23:45 Mr.Rico 阅读(2694) 评论(0) 推荐(2)
摘要: 在Linux中关于IP和无符号整数之间的转换有两个比较好的函数: int inet_aton(const char *cp, struct in_addr *inp); char *inet_ntoa(struct in_addr in); 通过函数名就可以知道函数作用了.这里需要注... 阅读全文
posted @ 2012-10-17 23:31 Mr.Rico 阅读(1002) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 23 下一页