发布于 2026-01-06 1 阅读
0

即使你只有一点点编程基础,你也应该参加算法竞赛。

即使你只有一点点编程基础,你也应该参加算法竞赛。

覆盖

最初发表于Dev Letters

我大学一年级时才开始接触算法竞赛(CP)。我应该更早开始的。

竞技编程(CP)在我目前的职业生涯中扮演了重要角色。事实上,它正是我获得现在这份自由职业合同( Toptal )的主要原因。简而言之,擅长竞技编程或体育编程让我能够大幅超越其他程序员。

所以,CP(编程能力)确实很重要。我们不妨列举一下它对程序员的帮助之处。

(1)改进逻辑

你的逻辑思维能力会随着练习而提高。你一开始并没有这么聪明。通过算法竞赛,你可以不断地用算法题训练自己,从而最大限度地发挥你现有的逻辑技能。练习越多,你的能力就越强。

(2)加快编码速度

这可能是第 (1) 点的直接结果。通过改进逻辑,您将能够更快地解决问题、更快地做出决策并更快地将其转化为代码,而无需反复思考最佳的编码方法。

额外好处——有很多时长 2-3 小时的编程竞赛,所以如果你经常参加这类比赛,你的打字速度也一定会提高。

(3)你将在任何情况下都开始编写尽可能最好的代码

C、C++ 和 Java 都是编译型语言。也就是说,它们直接与系统交互,因此,从某种意义上说,它们可以让你对代码的运行方式拥有 100% 的控制权。

如果你用这些语言做程序设计(你应该这样做),你会经常遇到代码运行时间只差几毫秒或者内存占用略微过多的情况。这时,微优化就显得至关重要了。

  • 循环运行的次数是否过多?
  • 递归树能否以某种方式被抑制?
  • 我们能否更好地利用变量来减少内存占用?

解决这些问题有助于你用其他解释型语言(例如 Python、Ruby 和 JavaScript)编写更好的代码。无论你是编写移动应用还是编写定时任务监控程序,这都适用。

你在CP课程中学到的知识将伴随你一生,无论你在哪里编写代码。

(4)最后但同样重要的是,CP 可以帮助你顺利通过招聘面试中的编程环节。

编程面试一直以来都用算法竞赛来测试候选人的潜力。我并不完全认同这种做法,但你也无能为力。所以,在这里练习算法竞赛总能提高你被选中的几率。

正如我所说,多亏了我的计算机编程技能,我才得以在Toptal获得一份合同工职位

所以,如果你还没开始练习算法竞赛,那就应该开始练习了。有很多优秀的免费网站可以帮助你。

我的建议是先从 Hackerrank 开始,然后再过渡到 Codeforces 和 Codechef。


如果您喜欢这篇文章,您可能也会喜欢以下内容。

文章来源:https://dev.to/aviaryan/why-you-should-do-competitive-programming-even-if-a-little-1hf8