【实战佳作】微软的《编程之美》

编程之美封面
寻找思考的快乐,体会编程的成就感,纯粹的对编程的热爱,真的很美。

微软有一本《编程之美:微软技术面试心得》,非常有趣,值得喜欢开发的人们细细阅读。这本书来自于微软亚洲研究院的技术人员,他们在书中通过对各种微软技术面试题的详细解说,表达了对编程的热爱,介绍了编程人们最喜爱的乐趣,那就是发现问题、分析问题、解决问题、寻找更优的解法、总结规律、抽象出算法的过程以及由此产生的成就感,引导读者思考,帮助大家寻找探索的乐趣,体会编程之美。面试题通常很有趣,书中也介绍了面试者的各种故事。

乐、魅、法、趣

书籍包括以下4个部分

  1. 游戏之乐:从游戏和其他有趣问题出发,化繁为简,分析总结。
  2. 数字之魅:编程的过程实际上就是和数字及字符打交道的过程。这一部分收集了一些好玩的对数字进行处理的题目。
  3. 结构之法:汇集了常见的对字符串、链表、队列,以及树等进行操作的题目。
  4. 数学之趣:列举了一些不需要写具体程序的数学问题,锻炼读者的抽象思维能力。

来看几个有趣的例子吧,介绍一下题目,至于具体的算法,请大家在思考后去查看《编程之美》这本书。

游戏之乐的例子

写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。有以下几种情况:

1.CPU占用率固定在50%,为一条直线;

2.CPU的占用率为一条直线,具体占用率由命令行参数决定(范围1~100);

3.CPU的占用率状态为一条正弦曲线。

数字之魅的例子

Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗?

结构之法的例子

电话的号码盘一般可以用于输入字母。如用2可以输入A、B、C,用3可以输入D、E、F等。对于号码5869872,可以依次输出其代表的所有字母组合。如:JTMWTPA、JTMWTB······

  1. 设计程序,尽可能从这些字母组合中,找到一个有意义的单词来表述一个电话号码。如单词"computer"来描述号码26678837。
  2. 对于一个号码,是否可以用一个单词代表?怎样才是最快的方法?

数学之趣的例子

在一场球赛开始前,售票工作进行着,每张球票为50元。假设有2n个人在排队买票,其中有n个人手持50元的钞票,另外有n个人手持100元的钞票,假设开始售票时,售票处没有零钱,问这2n个人有多少种排队方式,不至使售票处出现找不开钱的局面?

这些题目很有意思吧。愿你读这本书的时候,两眼闪着热爱和智慧的光芒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值