
编程之美
jarelzhou
程序员,不断学习
展开
-
编程之美1.2 中国象棋将帅问题
象棋中,将和帅不能在同一条直线上。将和帅分别在自己的3×3的空间内活动。要求写出一个程序求出全部的合法的将帅位置,要求只能使用一个变量。 分析:将和帅分别有9种位置,需要判断9*9个情况下是否位置合法。问题在于仅有一个变量存储空间。我们可以给将帅的位置编号分别为1-9,存储两个数仅用一个变量,解决方法是将一个变量拆分成两段进行存储。由于存储的数很小,每个数仅需4bit即可存储,原创 2014-02-03 20:33:36 · 1294 阅读 · 0 评论 -
编程之美1.5 快速找出故障机器
关心数据挖掘和搜索引擎的程序员都知道,我们需要很多的计算机来存储和处理海量数据。然而,计算机难免会有硬件故障而导致网络联系失败或死机。为了保证搜索引擎的服务质量,我们需要保证每份数据都有多个备份。 为了简单起见,我们假设一个机器仅储存一个标号为 ID 的纪录(假设 ID 是小于 10 亿的整数)假设每份数据保存两个备份,这样就有两个机器储存了同样的数据。 1. 在某个时原创 2014-02-12 13:14:52 · 1245 阅读 · 0 评论 -
编程之美1.6 饮料供货
问题描述: 在微软亚洲研究院上班,大家早上来的第一件事是干啥呢?查看邮件? No, 是去水房拿饮料:酸奶,豆浆,绿茶、王老吉、咖啡、可口可乐……(当然,还是有很多同事把拿饮料当做第二件事)。管理水房的阿姨们每天都会准备很多的饮料给大家,为了提高服务质量,她们会统计大家对每种饮料的满意度。一段时间后,阿姨们已经有了大批的数据。某天早上,当实习生小飞第一个冲进水房并一次拿了五瓶酸奶、四瓶王原创 2014-02-14 16:26:00 · 1609 阅读 · 0 评论 -
编程之美1.4 买书问题
在节假日的时候,书店一般都会做促销活动。由于《哈利波特》系列相当畅销,店长决定通过促销活动来回馈读者。在销售的《哈利波特》平装本系列中,一共有五卷,用编号 0, 1, 2, 3, 4 来表示。假设每一卷单独销售均需要 8 欧元。 如果读者一次购买不同的两卷,就可以扣除 5% 的费用,三卷则更多。 在一份订单中,根据购买的卷数以及本书,就会出现可以应用不同折扣规则的情况。但是,一原创 2014-02-14 16:43:41 · 1519 阅读 · 0 评论 -
编程之美1.7 光影切割问题
问题描述: 不少人很爱玩游戏,例如 CS ⑨。 游戏设计也成为程序开发的热点之一,我们假设要设计破旧仓库之类的场景作为战争游戏的背景。仓库的地面会因为阳光从屋顶的漏洞或者窗口照射进来而形成许多光照区域和阴影区域。为了简单起见,假设不同区域的边界都是直线 ⑩, 我们把这些直线都叫做“光影线”,并且不存在三条光影线相交于一点的情况。 那么,如果我们需要快速计算某个时刻,在原创 2014-02-14 18:44:53 · 1821 阅读 · 0 评论 -
编程之美2.21 只考加法的面试题
问题1:写一个程序,对于一个64位整数,输出所有的连续自然数之和的算式。问题2:哪些数字不能这样表示。问题3:64位整数范围内,哪个数字的子序列数目最多。 问题1好说,求平均数就可以得到了。研究一下问题2,我们可以列一个表格: 项数 特点 2 奇数,至少3 3 3的倍数,至少6原创 2014-02-16 21:04:59 · 1963 阅读 · 0 评论 -
编程之美1.3 一摞烙饼的排序(Python)
问题: 星期五的晚上,一帮同事在希格玛大厦附近的“硬盘酒吧”多喝了几杯。程序员多喝了几杯之后谈什么呢?自然是算法问题。有个同事说:“我以前在餐馆打工,顾客经常点非常多的烙饼。店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照大小次序摆好——小的在上面,大的在下面。由于我一只手托着盘子,只好用另一只手,一次抓住最上面的几块饼,把它们上下颠倒个个儿,反复几次之后,这摞烙饼就排好序了。我原创 2014-02-10 19:03:41 · 2241 阅读 · 0 评论