我希望这不是一个模糊/广泛/主观的问题。如果是,请关闭它。
无论如何,在几次编程比赛(如 Google 的 Code Jam、Facebook 的 Hacker Cup 等)中,当我成功理解了一个问题并大致了解了如何解决它时,我发现一半的问题已经解决了很多人。
我的问题是,这些人是如何变得如此优秀的?是纯粹的天才吗?是经验吗?思维能力真的很快吗?你会建议我如何提高我的技能?我会说我是一个称职的程序员。我最终可以解决其中一些问题。
此外,每当我检查获胜者的代码时,我都会看到使用了很多宏。这对我来说意味着他们有一个模板(比如#define for循环到一些缩写版本),他们用它来更快地编程。这有很大的不同吗?