您的位置:首页 > 奇异游戏 >

都市摩天楼java(分享我在编程比赛中获得金牌的经验和经历)

导读 点击上方关注,All in AI中国下面这张图是我在美国计算机奥林匹克竞赛中获得的3枚金牌我在中学的第一年开始从零开始学习C 。我对编程、算法或数据结构一无所知。在我写完第
点击上方关注,All in AI中国

下面这张图是我在美国计算机奥林匹克竞赛中获得的3枚金牌

我在中学的第一年开始从零开始学习C 。我对编程、算法或数据结构一无所知。在我写完第一行代码七个月后,计算机奥林匹克竞赛开始了。这是检验我的学习成绩的一个最佳时机。

经过2天的比赛,结果证明了一切:我赢得了金牌。

我其实还是有点震惊的,因为我已经超过了5年经验的竞争对手。我很清楚我的努力程度,但这个成就确实超出了我的预期。

因此,在这篇文章中我想分享一些成功经验给到大家。

你应该选择什么语言?

    强烈推荐C !它非常快。由于STL,因此实现不同的算法花费的时间会很少。所有比赛都接受C 。自从我写第一行代码以来,就一直在使用它。

    C?还是去学习C 吧,因为STL。如果您了解C,那么您也可以使用C 编写代码。

    Java?有点慢。如果比赛时间紧迫的话,您可能会超出时间限制。而且很多比赛都不接受Java。

你在哪里练习?

我推荐Sphere Online Judge(SPOJ)。它在质量和数量方面都很有效。如果您在解决问题时遇到困难,可以在线获取社论和解决方案。为SPOJ.pl支持网站SPOJ Toolkit和Problem分类器。

首先,你必须掌握基础知识

在习惯了语言的语法后,是时候解决一些问题了。从需要实施技能的简单任务开始。在此阶段,您的目标是定义您的编码风格。也许你喜欢写很多空格,也许不是,也许你习惯把括号放在与'if'语句相同的行上,也许不是。

你必须找到你的编码风格,烙上属于你的印记。

在开发编码风格时,请牢记这两个原则。

易于实施。您应该能够放心地实施您提出的解决方案。为什么?因为在竞争中,你最不希望发生的事情就是在代码中迷失。最好再多花5分钟考虑,而不是在执行时多花费10分钟来实现它。

易于阅读。这意味着“易于调试”。让我们面对现实,我们都知道bug会一直出现。可能当你还有十分钟的时候,你还是找不到所谓的bug,要解决这个问题,你必须编写清晰的代码。这样,当您开始调试时,代码会感觉自然而且易于理解。

这是我的编码风格。Just-to-share-code/Biconnected components at master · margiki/Just-to-share-code · GitHub

如何提高您的执行能力?

实践、实践和更多实践。我建议你在SPOJ上处理前250个最容易解决的问题。按照确切的顺序解决它们,并花至少一个小时来思考这个问题。

不要说'这个问题对我来说太难了'。这是失败者的心态。

拿一张纸和一支铅笔试着思考。通过这种方式,您可能会找到解决方案,说不定会开发算法思维。如果您在一小时内未找到解决方案,那么您可以查看论坛或社论来看看别人的解决方案作为参考。

这种方法的结果是什么?快速实施并学习到经典问题和算法。

其次,您必须掌握算法和数据结构

遵循分层方法。你不会在不知道如何走路的时候就开始跑步,也不会在没有坚实基础的情况下就建造摩天大楼。

这意味着您无法在学习路径中刻录步骤。或者说,如果你这样做了,那么你将继续增大随着时间的推移而加深的知识差距。

从基本算法和数据结构开始

其实这很难开始的,可能是因为你不知道该先学什么。这就是我创建算法和数据结构迭代器的值是多少?'。

通过这种方式,你就可以自己思考了。随着时间的推移,您将在编写代码时实时开始调试。

编译出品

免责声明:本文由用户上传,如有侵权请联系删除!