您的位置:首页 > 运维架构

TopCoder第一次练习心得

2017-12-25 14:26 1161 查看
工作几年之后,发现算法越来越重要,无论是基础算法还是专业领域的算法。

我算法底子比较渣,所以就到TopCoder找一些题来练习。

挑的是练习室(Practice Room)里的第一个房间–SRM 144。

TopCoder的Single Round Match分为两个区:DIV 1和DIV 2。每个区有三道题。总共是六道题。DIV 2的题比较简单,DIV 1的题比较难。

因为144室里,DIV 2的第2题与DIV 1的第1题,完全一样。所以144室里,总共只有五道题。具体见链接:

Time

BinaryCode

PowerOutage

Lottery

PenLift

DIV 2里的第1题:Time,是把给定的一个数字,转化成时间格式,xx:xx:xx。这题很简单。用除号(/)和取模符号(%)即可。

DIV 2里的第2题:BinaryCoder,是把一个字符串拆分成二进制的形式。这个不算难,但我也不会做,参考别人的,用了一小时的时间看懂。

DIV 2里的第3题:PowerOutge,是描述一栋楼里停电,要求电工在地下管道检测电路,求最小路径。我最初没看明白题意,参考别人的解答后,才看懂题意。用了五个小时左右,才看懂别人的解答。

DIV 1里的第1题,就是DIV 2里的第2题。

DIV 1里的第2题,Lottery,是求彩票中奖率的,用到了排列和组合。起初题目也没看明白,后来看官方题解那个求可重复数字组合的公式,也看不明白。最终花了10个小时左右的时间,才完全看明白题意和别人的解答。

DIV 1里的第3题,PenLift。跟图论里的一笔画有关系。这道题比较难。读懂题意和别人的解答,用了二十小时左右。

两个房间里的题目难度,给我的感觉,大体上是:

DIV 1 1100-point > DIV 1 550-Point >= DIV 2 1100-point > DIV 1 250-point = DIV 2 550-point > DIV 2 250-point

通过这次算法练习,我深感自己在算法和数学基础知识方面的不足。

最后,附上我的算法代码下载地址:SRM 144算法代码下载

更多内容请关注微信公众号

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: