读书日记之编程之美系列(一)

本文解析了来自《编程之美》一书中的几个经典面试题目,包括数组操作算法改进、解释井盖为何采用圆形设计的原因,以及如何通过仅一次进入房间的机会确定三个开关分别控制哪盏灯的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近我买了本书书名大家可能知道叫编程之美,这是一本微软研究院出的面试思想性问题书,我看后得到了很多的启发,今天先讲一下我看的题。

1.有一个整型大小为n的数组,要求对数组从第二个开始除以第一个数组元素,返回一个新的数组。

public int[] Test(int[] pudu){

for(int i=1;i<pudu.length;i++){

pudu[i] = pudu[i]/pudu[0];

}

return pudu;

}

这里有有两个问题1.你不知道数组的长度(应该做判断)。2.pudu[0]如果为0 ,被除数不为0.折两个问题。


2.井盖为什么是圆的。

这个问题回答的人太多了,他们考虑了很多个方向的来回答问题。


3.屋内三个灯,屋外三个按钮,只有走进屋内才能够看到灯是否亮了,问只用一次进屋就知道开关的对应的灯。

这个问题要把灯的发热考虑进去,将两个灯开着5分钟,在关掉一个灯,之后进去摸一下关的两个灯,热的灯是刚刚关闭的灯,凉的则是一直关着的灯,而开着的灯对应得则是最后没关的开关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值