
面试题錦集
文章平均质量分 72
fdcumt
沉寂一颗躁动的心不止需要勇气更需要毅力
展开
-
交换两个数,不用临时变量
procedure swap(var a,b:longint);begin a:=a + b; b:=a - b; a:=a - b;end; 好了,刚才不是说xor的逆运算是它本身吗?于是我们就有了一个看起来非常诡异的swap过程:procedure swap(var a,b:longint);begin a:=a x原创 2013-07-19 23:33:46 · 467 阅读 · 0 评论 -
设计一个Cache系统
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jianshusoft.blog.51cto.com/2380869/666653 今天去面试,面试官让我设计一个cache系统,要求保证最近使用的数据不能被移除出cache,也就是每次添加一个cache项的时候,把最旧的cache项移除出去。 我转载 2013-08-06 16:10:42 · 802 阅读 · 0 评论 -
给定数组Arr[n],O(n)时间内找出每个元素左侧所有元素中位置最靠近该元素且大于该元素的元素
参考:http://blog.youkuaiyun.com/yysdsyl/article/details/5419149题目: 给定数组Arr[n],对于其中的每个元素Arr[i](0=Arr[i],并且i-k值最小(即最靠近)。 要求O(n)时间内找出Arr中所有元素对应的Arr[k]的位置。 ex, src[]: 9, 5, 2, 4, 7原创 2013-08-21 16:30:13 · 1009 阅读 · 0 评论 -
动态规划求解编辑距离问题
参考:http://blog.youkuaiyun.com/yysdsyl/article/details/4249245 /*与最长公共子串有关题目描述:要求两字符串有差异的字符个数。例如: aaaaabaaaaa aaaaacaabaa 这两个字符串,最大公共字串长度是5,但它们只有两个字符不同,函数输出值应为2。 如果是: aaabbbcccddd a原创 2013-08-23 13:00:30 · 588 阅读 · 0 评论 -
编程之美:1-n中1的个数
#include #include using namespace std;typedef long long LL;const int DP_Max=20;LL dp[DP_Max][3][2];/** 0 含有1的个数* 1 数的总个数*/LL DP_bit(const string& str){ memset(dp,0,sizeof(dp)原创 2013-08-12 09:15:36 · 575 阅读 · 0 评论 -
详解volatile在C++中的作用
volatile的介绍 volatile类似于大家所熟知的const也是一个类型修饰符。volatile是给编译器的指示来说明对它所修饰的对象不应该执行优化。volatile的作用就是用来进行多线程编程。在单线程中那就是只能起到限制编译器优化的作用。所以单线程的童鞋们就不用浪费精力看下面的了。没有volatile的结果 如果没有volatile,你将无法在多线程中并转载 2013-08-12 10:47:47 · 601 阅读 · 0 评论 -
Google 2013校招笔试题:用swap排序
题目来自:http://blog.youkuaiyun.com/bigheadzzy/article/details/8083699#include using namespace std;void mySeap(int&a ,int &b){ a=a^b; b=a^b; a=b^a;}void sulotion(int * a,const int nSize){原创 2013-08-24 23:04:52 · 623 阅读 · 0 评论 -
【专题】Catalan数
转载:http://blog.youkuaiyun.com/hardbrave/article/details/6713915 什么是Catalan数 说到Catalan数,就不得不提及Catalan序列,Catalan序列是一个整数序列,其通项公式为Cn = C(2n, n)/(n+1) n>=0。我们从中取出的Cn就叫做第n个Catalan数,前几个Catalan数为:1, 1转载 2013-08-25 21:52:12 · 703 阅读 · 0 评论 -
C++下遍历文件夹
转自:http://www.cnblogs.com/summerRQ/articles/2375749.html C++下遍历文件夹编写程序遍历文件夹及其子文件夹下所有文件,并输出到标准输出流或者文件流。1. 先考虑在单层目录下,遍历所有文件。以C:\WINDOWS为例:用到数据结构_finddata_t,文件信息结构体的指针。struct _findda转载 2013-08-31 21:16:37 · 685 阅读 · 0 评论 -
c,c++产生随机数详解
原文链接http://blog.youkuaiyun.com/chenyiming_1990/article/details/8648681在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后转载 2013-07-26 10:28:32 · 472 阅读 · 0 评论 -
位运算简介及实用技巧(二):进阶篇(1)
http://www.matrix67.com/blog/archives/264二进制中的1有奇数个还是偶数个 我们可以用下面的代码来计算一个32位整数的二进制中1的个数的奇偶性,当输入数据的二进制表示里有偶数个数字1时程序输出0,有奇数个则输出1。例如,1314520的二进制101000000111011011000中有9个1,则x=1314520时程序输出1。var转载 2013-07-25 09:14:59 · 379 阅读 · 0 评论 -
友元模板
十、友元和类模板1、类模板中有普通友元函数,友元类,模板友元函数和友元类,普通友元函数和友元类不做介绍。2、可以建立两种类模板的友元模板,即约束型的友元模板和非约束型的友元模板。3、非约束型友元模板:即类模板的友元模板类或者友元模板函数的任一实例都是外围类的任一实例的友元,也就是外围类和友元模板类或友元模板函数之间是多对多的关系4、约束型友元模板:即类模板的友元模板类或转载 2013-07-22 10:38:07 · 935 阅读 · 0 评论 -
网易笔试题
http://zhiqiang.org/blog/science/computer-science/163-written-test-problems.html 笔试多了,便会发现题目大同小异,很多笔试考的时候就是考经验和见世面。下面收集一些。Fibonacci数列中,一个Fibonacci数如果与它之前的Fibonacci数均互质,则称为Fibonacci质数。第一个Fibonacc转载 2013-07-19 20:23:00 · 761 阅读 · 0 评论 -
寻找第K大的数的方法总结
http://www.cnblogs.com/zhjp11/archive/2010/02/26/1674227.html今天看算法分析是,看到一个这样的问题,就是在一堆数据中查找到第k个大的值。 名称是:设计一组N个数,确定其中第k个最大值,这是一个选择问题,当然,解决这个问题的方法很多,本人在网上搜索了一番,查找到以下的方式,决定很好,推荐给大家。 所谓“第(前转载 2013-07-19 21:02:52 · 699 阅读 · 0 评论 -
实现一个函数,对一个正整数n,算得到1需要的最少操作次数:
转载部分:http://zhiqiang.org/blog/science/computer-science/complexity-of-recursive-algorithm.html递归算法的复杂度通常很难衡量,一般都认为是每次递归分支数的递归深度次方。但通常情况下没有这个大,如果我们可以保存每次子递归的结果的话,递归算法的复杂性等于不同的节点个数。这也是动态规划算法思想的由来。看原创 2013-07-19 22:55:37 · 1596 阅读 · 0 评论 -
位运算简介及实用技巧(一):基础篇
http://www.matrix67.com/blog/archives/263去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个remake。当然首转载 2013-07-20 08:14:00 · 842 阅读 · 0 评论 -
判断链表是否带环
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fas转载 2013-07-21 15:14:25 · 578 阅读 · 0 评论 -
最大子段和,最大子段积
#include using namespace std;//最大子段和double MaxSubSum(double *p,const int n);double MaxSubMutil(double *p,const int n);int main(){ double p[]={1,-2,-3,4,-5,6,-7}; cout<<MaxSubMutil(p,7)<<原创 2013-07-21 10:18:11 · 1112 阅读 · 0 评论 -
数学之美番外篇:快排为什么那样快
转自: http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/目录0. 前言1. 猜数字2. 称球3. 排序 3.1 为什么堆排比快排慢 3.2 为什么快排其实也不是那么快 3.3 基排又为什么那么快呢4. 信息论!信息论?5. 小结0. 前言知道这个理论是在T原创 2013-07-21 19:07:49 · 526 阅读 · 0 评论 -
怎样把函数模板声明为类模板的友元
http://www.cppblog.com/unixfy/archive/2011/05/27/147448.html 怎样把函数模板声明为类模板的友元给类模板声明友元的函数模板有三种方式,分别为:第一种方式,在模板类内部声明友元的函数模板第二种方式,在模板类内部声明对应版本的友元函数模板实例化 需要前置声明 这种方式是最为合理的方式第三种方式,在模板类内部直接声转载 2013-07-22 09:36:29 · 1474 阅读 · 0 评论 -
求最小不重复数,源于百度2014届校园招聘软件研发岗位深圳站
/*如果一个数字十进制表达时,不存在连续两位数字相等,则称之为“不重复数”。例如,105,1234和12121都是“不重复数”,而11,100和 1225不算。给定一个long类型数字A,返回大于A的最小“不重复数”。*/#include using namespace std;typedef unsigned long long ULL;ULL functio原创 2013-09-30 10:09:06 · 1075 阅读 · 0 评论