摘要: 引言:有高矮不同的12个人,现在要他们对应排成两列,保证两列分别有序,且对应位置总是第一列比第二列矮,请问有多少种排列方式? 这是蘑菇街笔试的时候一个题目,当时陷入了枚举分类的死循环中,殊不知如果知道Catalan数的概念,直接就计算出来了。catalan组合数学上的递归式定义如下,这个递归定义是欧拉在研究下面问题5时得出的一个式子,是Catalan数起源的一种说法。 h(n)= h(0... 阅读全文
posted @ 2013-04-27 22:40 曾见绝美的阳光 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 网易实习的时候被问到这个题目,虽然当时答了一些,感觉面试官也知道我的意思,但是没有个详尽的介绍,这次网上搜集一下,大概有如下几点: 1 . const有类型,define无类型(最重要的) define只是在预处理阶段做个简单的替换,而const在编译运行阶段是有严格的类型检查的 2 . const常量存储于程序的数据段,而#define常量是在代码段 3 . const比较节约存... 阅读全文
posted @ 2013-04-26 15:57 曾见绝美的阳光 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 今天看一篇博主的文章,提到了添加一行代码输出hello world的有趣题目,于是在网上搜,发现关于hello world的小伎俩还真不少,当然,问题的关键不在hello world上,而在这背后的原理之中。那么我们就来看一看这些小题目吧! 题目一:如下,在print()函数中填充代码,使之显示hello ,world,要求main() 不作改动 /* c/c++ code */... 阅读全文
posted @ 2013-04-26 14:50 曾见绝美的阳光 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 在C++中,析构函数最好定义为虚函数,在类成员中有需要程序员自己申请和释放的成员,比如说指针类型的成员时,当用父类指针指向子类,虚析构函数能够使父类的指针正确地调用属于子类的析构函数,下面是一个例子: #include <iostream>using namespace std; class A{public: A() { std::co... 阅读全文
posted @ 2013-04-23 21:30 曾见绝美的阳光 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 之前有很多题目说到要用位图来解决问题,比如, 1.找1到10W之间没有出现的两个数,其中这些数是乱序排放(可能数字比10W还大,比如说40亿) 2.一个最多包含n个正整数的文件,每个数都小于n,其中n=107。如果在输入文件中有任何正数重复出现就是致命错误。没有其他数据与该正数相关联。输出按升序排列的输入正数的列表 3.给出40亿个数,搜索某一个数是否存在于这些数之中 4.两个整数集合A和... 阅读全文
posted @ 2013-04-18 15:14 曾见绝美的阳光 阅读(460) 评论(0) 推荐(0) 编辑