主题:《编程之美——微软技术面试心得》电子书下载“一撂烙饼的排序问题”
[size=4][color=FF00FF]公布答案了,有电子书下载
本题名为 “一撂烙饼的排序问题”,是[url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url]中的一道比较经典的题目。
这个排序问题很有意思,解决问题的关键操作是——“单手每次抓几块饼,全部颠倒”。
每次我们只能选择最上方的一堆饼,一起翻转。而不能一张张地直接抽出来,然后进行插入,也不能交换任意两块饼子。这说明基本的排序办法都不太好用。那么怎么把这n个烙饼排好序呢?
[url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url]中给出了具体的解法以及最优的方案,见电子书。书中还提到比尔盖茨在上大学的时候也研究过这个问题,并且发表过论文。大家有没有兴趣知道盖茨研究这个题目的结果是怎样的呢?
电子书中还附有看了[url=http://www.china-pub.com/38070]《编程之美》[/url]后面试微软的小故事 :),大家快来下载吧。。。[/color][/size]
《编程之美——微软技术面试心得》 中的一道题,作者是微软研发经理,主持过多次招聘。大家看看这道题怎么解? 据说有很多种解法:)这里:[url]http://yishan.cc/forums/thread/711.aspx[/url]
星期五的晚上,一帮微软技术员在希格玛附近的“硬盘酒吧”多喝了几杯。程序员多喝了几杯之后谈什么呢?自然是算法问题。有个同事说: 我以前在烙饼店打工,顾客经常端非常多的烙饼。店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照
大小次序摆好——小的在上面,大的在下面。由于我一只手托着盘子,只好用另一只手,一次抓住最上面的几块饼,把它们上下颠倒个个儿,反复几次之后,这摞烙饼就排好序了。
这实际上是个有趣的问题:假设有n块大小不一的烙饼,那最多/最少要翻几次,才能达到最后大小有序的结果呢?
话音刚落,吧台的酒保就开腔了:这太难了吧。我有个简单的问题。有一次我烙了三个饼,一个两面都焦了,一个两面都是金黄色,一个一面是焦的,一面是金黄色,我把它们摞一起,只能看到最上面一个饼的一面,发现是焦的,问最上面这个饼的另一面是焦的概率是多少?
不少喝酒的人脱口而出:1/2!
上面的说法对吗?你能否写出一个程序,对于n块大小不一的烙饼,输出最优化的翻饼过程呢[url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url][url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url][url=http://www.china-pub.com/38070]《编程之美》[/url]
本题名为 “一撂烙饼的排序问题”,是[url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url]中的一道比较经典的题目。
这个排序问题很有意思,解决问题的关键操作是——“单手每次抓几块饼,全部颠倒”。
每次我们只能选择最上方的一堆饼,一起翻转。而不能一张张地直接抽出来,然后进行插入,也不能交换任意两块饼子。这说明基本的排序办法都不太好用。那么怎么把这n个烙饼排好序呢?
[url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url]中给出了具体的解法以及最优的方案,见电子书。书中还提到比尔盖茨在上大学的时候也研究过这个问题,并且发表过论文。大家有没有兴趣知道盖茨研究这个题目的结果是怎样的呢?
电子书中还附有看了[url=http://www.china-pub.com/38070]《编程之美》[/url]后面试微软的小故事 :),大家快来下载吧。。。[/color][/size]
《编程之美——微软技术面试心得》 中的一道题,作者是微软研发经理,主持过多次招聘。大家看看这道题怎么解? 据说有很多种解法:)这里:[url]http://yishan.cc/forums/thread/711.aspx[/url]
星期五的晚上,一帮微软技术员在希格玛附近的“硬盘酒吧”多喝了几杯。程序员多喝了几杯之后谈什么呢?自然是算法问题。有个同事说: 我以前在烙饼店打工,顾客经常端非常多的烙饼。店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照
大小次序摆好——小的在上面,大的在下面。由于我一只手托着盘子,只好用另一只手,一次抓住最上面的几块饼,把它们上下颠倒个个儿,反复几次之后,这摞烙饼就排好序了。
这实际上是个有趣的问题:假设有n块大小不一的烙饼,那最多/最少要翻几次,才能达到最后大小有序的结果呢?
话音刚落,吧台的酒保就开腔了:这太难了吧。我有个简单的问题。有一次我烙了三个饼,一个两面都焦了,一个两面都是金黄色,一个一面是焦的,一面是金黄色,我把它们摞一起,只能看到最上面一个饼的一面,发现是焦的,问最上面这个饼的另一面是焦的概率是多少?
不少喝酒的人脱口而出:1/2!
上面的说法对吗?你能否写出一个程序,对于n块大小不一的烙饼,输出最优化的翻饼过程呢[url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url][url=http://www.china-pub.com/38070]《编程之美——微软技术面试心得》[/url][url=http://www.china-pub.com/38070]《编程之美》[/url]