如何开始使用TopCoder来更新/开发算法技能?

Ram*_*ngh 41 algorithm

在工作场所,我所做的工作几乎没有接近挑战和做到这一点我认为我可能会失去看待一个全新问题的技能,并考虑不同的想法来解决它.

一位朋友向我推荐了TopCoder.com,但是看看绝大多数问题,我无法决定如何开始?

我想要的是锐化我的技术(不是特定的语言或框架).

mqp*_*mqp 17

开始的唯一方法是挑选问题.我是一个比较困难的师,所以你可能会发现我的中级和硬级问题会有点有趣和具有挑战性(除非你很聪明.)

如果您查看活动日历,您可以查看您所在时区的竞赛轮次.这些比赛有额外的优点,迫使你在挑战阶段阅读和分析其他人的代码,所以即使你很快就没有时钟练习,你可能会发现它们很有趣.

  • 这是完全实践,它可以完全开发.有一般(攻击和澄清问题的方法,不清楚如何开始)和特定的(基本的算法思想,如动态编程,BFS和DFS,流程图)策略,你将学习哪些改变这些问题来自难以理解的.TC有一个很大的教程部分,由顶级竞技场编写者编写,几乎肯定会有所帮助:http://www.topcoder.com/tc?module = static&d1 = tutorials&d2 = alg_index如果这对你来说是一项重要的技能,那就继续努力吧它,你会进步. (12认同)
  • 当我开始责怪自己因为没有足够聪明才能看到难题的解决方案时,我应该如何处理挫败感呢?(实践是洞察力和智力的关键吗?或者是某些人拥有的诀窍,有些人并不"我要问的是,是否可以开发,我认为自己对数学技能的平均水平(可能更少)") (6认同)
  • 我认识那里最好的一些编码员.他们都建议解决4-6个问题,或者每天花费至少两个小时,如果你想要去1900年. (4认同)
  • 非常感谢你的时间和精彩的建议:).万分感激. (2认同)

Gil*_*anc 12

TopCoder算法竞赛是一种提高编码速度的方法.除非您已经了解各种算法,否则解决练习场中的任何问题都很困难.

项目欧拉的问题也存在同样的缺陷.您必须知道在合理的时间范围内解决问题的算法.

我建议选择一个你感兴趣的项目,并在你有时间的时候追求它.作为一个例子,我目前正在学习如何使用Eclipse富客户端平台中的开放街道地图图块.

  • 显然,解决问题的策略各不相同,"很多"是主观的,但我想在这里提出一个相反的观点 - 我已经完成了很多Project Euler问题,而且他们很少需要很多预先存在的算法知识.TopCoder中更容易的一半问题也假设很少. (2认同)

Luk*_*hne 5

尝试使用http://projecteuler.net问题解决方案的数量可以解决问题.

我更喜欢这个页面,因为它是语言不变的,问题真的很有挑战性