题目:Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗?解法1:排序+遍历。O(nlogn)的时间复杂度。考虑到只需找到数量超过一半的ID,排序有点浪费,可以优化。解法2:分治。将问题的规模逐渐缩小,直到找到答案,时间复杂度O(n)。算法:同时删去2个不同的ID,那么剩下的ID仍然符合"水王ID Read More
posted @ 2013-08-08 20:19
icfnight
Views(213)
Comments(0)
Diggs(0)
问题: 给玩家4张牌,每张牌的面值在1-13之间,允许其中有数值相同的牌,采用加、减、乘、除四则运算,允许中间运算存在小数,并且可以使用括号,但每张牌只能用一次。构造表达式,使其结果为24。解题思路:穷举、回溯。设数字集合为A,每次从A中任取出2个数,穷举进行4种运算(+,-,*,/),将运算结果放入A中,直到最后A中剩下一个数。用覆盖的方法来剔除取出的2个数,值得学习!!参考书中的代码:#include#include#include#includeusing namespace std;const double bound=1e-6; //浮点数运算存在误差 string str[5];. Read More
posted @ 2013-08-08 12:32
icfnight
Views(288)
Comments(0)
Diggs(0)

浙公网安备 33010602011771号