m进制转换为n进制-任意进制转换算法

这种题也是一道经典的面试题,主要考察进制转换细想,Coding质量等。

当我们把十进制转成二进制的时候,我们通过辗转相除,取余,逆置余数序列的过程得到新的进制的数。因此我们可以借助这种思想把M进制转成N进制的数。 继续阅读

海量数据处理专题(六)——双层桶划分

【什么是双层桶】
事实上,与其说双层桶划分是一种数据结构,不如说它是一种算法设计思想。面对一堆大量的数据我们无法处理的时候,我们可以将其分成一个个小的单元,然后根据一定的策略来处理这些小单元,从而达到目的。

【适用范围】
第k大,中位数,不重复或重复的数字

【基本原理及要点】
因为元素范围很大,不能利用直接寻址表,所以通过多次划分,逐步确定范围,然后最后在一个可以接受的范围内进行。可以通过多次缩小,双层只是一个例子,分治才是其根本(只是“只分不治”)。 继续阅读

一个Sqrt函数引发的血案

好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获。

我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?

虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间数;如果小了,就再拿右区间的中间数来试。比如求sqrt(16)的结果,你先试(0+16)/2=8,8*8=64,64比16大,然后就向左移,试(0+8)/2=4,4*4=16刚好,你得到了正确的结果sqrt(16)=4。然后你三下五除二就把程序写出来了: 继续阅读

谷歌(Google)2011年校园招聘笔试题

2010年9月27日晚在北京进行了2011年度招聘宣讲会,宣讲会结束后就开始现场笔试,第二天6点之前就可以得到面试资格的通知。据当时Hr所说,根据以往经验,其中800笔试者中会有40名入选面试。Google的效率和招人的精益程度可见一斑。

笔试一共有10个选择题和3个编程算法题,Google的要求是前面的选择题至少正确6个以上,判卷人才会看后面的三个算法题。下面是回忆版的笔试题,有的已经记不起来了,有可能回忆的不太准确。大家看看这些题,在找工作的时候有个参考,好运Everyone~~~ 继续阅读

从张筱雨大胆人体艺术写真全集看国人喜好

刘亦菲,没有人不知道的。

张筱雨,如果你不知道她是谁,那么告诉你,你已经落伍了,至少说你已经是个二等网民了。

张筱雨,一个长期霸占“百度美女风云榜TOP10”第一位的女孩,一夜之间成为了人们议论的热门话题。大胆的暴露自己的身体的那一刻,她把自己推向了舆论的风口浪尖。每天80+w的搜索量证明了一个事实,那就是“国人很关注”。 继续阅读

海量数据处理专题(五)——堆

【什么是堆】
概念:堆是一种特殊的二叉树,具备以下两种性质
1)每个节点的值都大于(或者都小于,称为最小堆)其子节点的值
2)树是完全平衡的,并且最后一层的树叶都在最左边
这样就定义了一个最大堆。如下图用一个数组来表示堆:

继续阅读