📜  Google STEP 实习生编码挑战体验(1)

📅  最后修改于: 2023-12-03 15:31:02.962000             🧑  作者: Mango

Google STEP 实习生编码挑战体验

最近我参加了Google STEP的实习生编码挑战,这是一次非常有意义的体验!

挑战内容

STEP编码挑战是一个在线评测系统,通过该系统提供的测试用例来测试我们编写的代码是否正确。挑战内容包括:

  • 基础问题:掌握基本的算法和数据结构,如数组、链表、树等;
  • 中级问题:涉及更复杂的算法和数据结构,如动态规划、分治算法、并查集等;
  • 高级问题:考察编程能力和思维能力,如字符串处理、构建图等。

挑战难度较大,需要借助Google搜索以及其他学习资源,比如LeetCode,来源于各类算法和数据结构电子书以及学习笔记。

编码挑战的收获

通过Google的编码挑战,我获得了以下收获:

学习新的算法和数据结构

挑战中有时需要使用编码者没有遇到过的算法和数据结构。我通过挑战学习到了一个新的算法--BFS(Breadth First Search),并将其应用于高级问题。

BFS是一种广度优先搜索算法,可用于计算和生成树或图的最短路。

提高程序的效率

在挑战中,我遇到了与以往不同的数据或编码问题。例如,某个问题要求返回一系列整数的总和,我最初的想法是使用循环计算;但在Google的求助下,我了解到可以使用递归方法快速计算总和,从而提高程序效率。

增强编码能力

编码挑战让我领悟到编码的重要性,同时也提高了我的编码能力。在挑战中,我发现通过检验的代码通常相互独立、易于理解和调试,这为编写质量高的代码提供了一个很好的例子。

总结

Google的编码挑战是一个很好的学习平台,可以增强编码能力,提高程序效率,学习新的算法和数据结构。停下电影和游戏,每天解决1~2个编码问题是一个特别好的训练。我推荐这个挑战,尤其是对那些渴望提高编程能力的程序员。

print("Hello, Google STEP!")