![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
tianxiajianling
这个作者很懒,什么都没留下…
展开
-
平均需要抛掷多少次硬币,才会首次出现连续两个正面?
平均需要抛掷多少次硬币,才会首次出现连续两个正面?它的答案是 6 次。它的计算方法大致如下。 首先,让我们来考虑这样一个问题: k 枚硬币摆成一排,其中每一枚硬币都可正可反;如果里面没有相邻的正面,则一共有多少种可能的情况?这可以用递推的思想来解决。不妨用 f(k) 来表示摆放 k 枚硬币的方案数。我们可以把这些方案分成两类:最后一枚硬币是反面,或者最后一枚硬币是正面。如果是前一种情形,原创 2012-04-13 16:55:13 · 4993 阅读 · 0 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如何找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fas原创 2012-05-07 16:17:48 · 516 阅读 · 0 评论 -
尼姆游戏-取硬币游戏
转自:http://www.guokr.com/article/68595/在所有二人游戏中,最古老最有魅力的就是这个尼姆游戏了(好吧,在所有二人数学游戏中)。据说它发源于中国,有时候孩子们用纸片玩,但通常人们出门可能很少带纸片,所以我们用硬币玩。这个游戏最流行的版本是用 12 枚硬币摆成三行。游戏规则很简单,游戏双方轮流取 1 枚或多枚硬币(只能在同一行),谁拿到最后一枚就算原创 2012-05-09 09:18:20 · 4418 阅读 · 0 评论 -
C/C++中如何动态分配内存(new/delete malloc/free 区别联系)
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于mallo原创 2012-05-09 15:20:05 · 2583 阅读 · 1 评论 -
static关键字
面向过程设计中的static1、静态全局变量a 该变量在全局数据区分配内存;b 未经初始化的静态全局变量会被程序自动初始化为0;c 静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的,其它文件中可以定义相同名字的变量,不会发生冲突。2、静态局部变量a 该变量在全局数据区分配内存;b 在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行原创 2012-05-09 15:50:44 · 681 阅读 · 0 评论 -
哈希排序
转自:http://wenku.baidu.com/view/c8ca9533b90d6c85ec3ac6db.html文档下载:http://download.csdn.net/detail/tianxiajianling/4288941第一部分:Top K 算法详解问题描述百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长原创 2012-05-09 16:53:08 · 35010 阅读 · 6 评论