上一页 1 ··· 3 4 5 6 7
摘要: 一般的编程题,注意计算份额的时候使用 int( 100 * x / sum ) 1 class Bonuses: 2 def getDivision(self, points): 3 pointSum = 0 4 for x in points: 5 pointSum += x 6 7 bounus = [] 8 bounusSum = 0 9 for x in points:10 bou = int(100 * x / pointSum)11 ... 阅读全文
posted @ 2013-10-28 23:33 valaxy 阅读(149) 评论(0) 推荐(0)
摘要: 这是一道很有意思的图论题,分析本问题之前必须先理解一笔画问题的原理,不难扩展出以下定理:若一个连通无向图的奇顶点个数为n(1) 当n为0时,图可以一笔画(且可以构造一个回路)(2) 其他情况,图可以n/2笔画(注意n一定为偶数)对于多联通分量的无向图,每个联通分量单独计算k笔画的情况,最后累加即可对于本题,将线段看成图的边,端点和交点看成图的顶点,画n遍转换为每条边重复出现至n次,而:笔抬起的次数=笔画数-1,这样题目就转化为下面这样的问题:给定一个图,求最少可以几笔画完,每条边不能重复也不能遗漏模型建好了,但是在编程计算的过程中还有以下难点:1. 如何处理互有覆盖(overlap)的线段?题 阅读全文
posted @ 2013-10-28 02:00 valaxy 阅读(257) 评论(0) 推荐(0)
摘要: 排列组合的问题,对于不同的情况分别考虑即可,引入定义:P(n,r)n个元素集合的r-排列的个数C(n,r)n个元素集合的r-组合的个数M(k,r)k种元素多重集的r-组合个数, M(k,r) = C(r+k-1,r)共有4种情况sortedunique总数truetrueC(choices,blanks)truefalseM(choices,blanks)falsetrueP(choices,blanks)falsefalsechoices^blanks(乘方)剩下的就是排序等基本的程序操作了,注意精度问题 1 class Lottery: 2 def sortByOdds(self,... 阅读全文
posted @ 2013-10-28 00:31 valaxy 阅读(198) 评论(0) 推荐(0)
摘要: 一般的编程题,注意考虑边界情况和各种约束的完备性,详情见测试用例 1 class BinaryCode: 2 3 def decode(self, message): 4 enc = [int(ch) for ch in message] 5 return (self._decodeBy(enc,0), self._decodeBy(enc,1)) 6 7 def _conact(self, nlist): 8 s = '' 9 for i in nlist:10 s = s + str... 阅读全文
posted @ 2013-10-27 18:49 valaxy 阅读(170) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7