正文

【笔试经验】高盛笔试题精解[转]2008-10-11 15:51:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/andyhou/38821.html

分享到:

【笔试经验】高盛笔试题精解 杨中科 发表于: 2008-9-30 17:27 来源: 计算机321 1、A是一个用户自定义类。int a = 100;A *ptr = new A [a];delete ptr;这段代码是干什么的,有个错误请指出来,如何提高效率?JSJ321.com老师分析:这段代码创建了一个包含100个类A的实例的数组。这个代码中删除对象数组占据内存空间的方式是“delete[]”而不是“delete”,因此应该改成:delete[] ptr。因为创建的是100个元素的数组,因此不需要一个单独的变量a,直接如下修改:A *ptr = new A [100];delete[] ptr;2、How to calculate (1 + 2 + 3 + … + n)?JSJ321.com老师分析:不要用老师讲的for循环来计算累计值,而是使用等差数列计算公式,这样效率会高很多int F(int n){return n*(n+1)/2;}3、 在一个火车站:每10分钟就有一火车离站向南开去;每10分钟,也有另外一辆火车离站向北开去。每天,你到达这个火车站的时间并不是固定的(换言之,在时间上你是随机到达火车站的)。但是在你每次到达以后,你就会乘坐最先到站的火车离开,而不管它是往北或者是往南开。 这样在乘坐了一年以后,你发现在90%的天数里,你所乘坐的是南行的火车。请问这是为什么?JSJ321.com老师分析:答案是“南行的火车时间比北行的时间早1分钟”。比如:南行的时刻表为:12:00,12:10,12:20,12:30,、、、 北行的火车时间表为:12:01,12:11,12:21,12:31,、、、 这样的话,除非是你在到达的时候为12:00以后而在12:01之前,那么,从12:02到12:10之间,你都会乘坐南行火车。依此类推、、、这样的话,你在每10分钟里,乘坐南行火车的几率为90%。 4、 你独自一人在一孤岛上等待着救护人员的到来,但他们只会在第10天到达(今天是第零天)。你手头上有两种药品:“甲”和“乙”各10粒。想要活到第二天的话,你必须吃一粒“甲”和一粒“乙”。可是,今天由于不小心你把“甲”和“乙”的颗粒混在了一块,而你又无法辨认出哪粒是“甲”、哪粒是 “乙”来。想要活到第十天的话,你需要怎么去做?JSJ321.com老师分析:把20颗粒药碾碎,并混合均匀,然后平均分出10份,每次食用一份。 此题目的启示为:做事不要拘泥于条条框框。

阅读(2568) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册