📜  如何阅读竞争性编程问题?

📅  最后修改于: 2021-05-20 09:00:14             🧑  作者: Mango

竞争性编程被认为是计算机科学领域的一项运动。这项运动的文化正日趋发展,许多人也将其视为职业选择。因此,为了帮助参与者提高这项运动的效率,在这篇文章中,我们尝试涵盖在阅读竞争性编程问题时需要牢记的所有可能事项。

如何阅读竞争性编程问题?

在竞争性编程中最重要的事情是:

对于编程比赛中得分相同的参与者,时间被认为是抢七的主要因素。

同样,为了节省时间,您必须尽快理解问题,这取决于您如何阅读编程问题?

现在,为了解决这个问题,许多体育程序员遵循的基本策略是他们根据自己的难度水平来不同地阅读问题。请注意,大多数编码竞赛的问题都基于以下难度级别:

  • Cake-walk :基于简单的实现,此类问题被认为非常容易。在抢七局中,这个问题也很重要,因为大多数程序员在比赛的前5分钟内提交解决蛋糕问题的解决方案。尽快解决此问题的基本策略是通过避免阅读完整的问题来节省时间。首先尝试查看测试用例以及问题陈述中说明的输入和输出格式。在大多数情况下,这足以解决“步履蹒跚”的问题。
  • 容易:此类别中的问题很容易,但不像步履蹒跚的问题那么容易。这些问题不是基于任何数据结构和算法,也不是基于更严格的概念。这些问题旨在测试程序员的分析能力。大多数情况下,这些问题基于任何数学概念或字符串实现等。在阅读此问题时,请尽量避免问题陈述中的故事部分(如果有的话)。读完这个问题就足以解决这个问题,但同时您必须非常小心,不要错过任何概念。
  • 中等和困难:我们在阅读这些问题时必须非常小心,因为它们包含很多极端情况,并且包括数据结构和算法的深入概念,例如分段树,二进制索引树,动态编程,永久数据结构等

    崭露头角的程序员可以用来解决这些问题的一些步骤是:

    1. 至少阅读两次该问题:将问题转化为解决方案的第一步是理解问题本身。如果您在初读时能理解该问题,我们建议您再次阅读该问题,问题设置者可能会设置一个隐藏的测试用例。如果您无法理解该问题,请多次阅读,直到您弄清楚需要解决的问题为止。一旦掌握了逻辑,就可以用您选择的语言对其进行编码。
    2. 标出分钟的详细信息:您可以写下需要声明的变量的名称,以及问题中提到的一些公式,以便长久不忘。您必须在纸上放置每个变量的约束或记住它,因为这将来可能会导致错误。标出细节将帮助您避免愚蠢的错误,并专注于逻辑并节省您在编码竞赛中的宝贵时间。如果您有一个很长的问题,并且必须为其编写一个长代码,则您可能不记得每个变量的详细信息,因此您可以参考已预留的列表以供参考,并以相同的速度继续进行编码。
    3. 编码时请参阅问题:您可以打开2个标签,一个用于编码,一个用于问题部分。一些编码站点允许您执行此操作,并且有利于在编码时查看确切的详细信息。
    4. 提交前再次阅读问题:一次又一次阅读同一问题可能会很无聊,但是如果您错过了一个重要的细节,这可能会让您看到它。一旦错过,游戏就结束了。因此,在提交解决方案之前,您必须再次解决该问题。

你们中的大多数人都必须参加过几次编码比赛,并取得了一定的成功。有时在编码时,每个人都会因为一些小事情而遇到错误。缺少要声明的变量,留下公式,没有完全阅读问题,忽略了对变量的约束,列表继续进行。可以使用以上详细信息来避免这些基本错误。

许多编码竞赛也因提交错误的解决方案而对参赛者造成惩罚。因此,建议在提交解决方案之前对您的解决方案充满信心。

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。