人们如何如此快速地解决编程竞赛?

Ani*_*amy 11 coding-style

我希望这不是一个模糊/广泛/主观的问题.如果是,请关闭它.

无论如何,在几个编程竞赛(如谷歌的编程挑战赛,Facebook的黑客杯等),由当时我已经成功地明白一个问题,有如何对待一个暗示,我看到一半的问题已经被解决很多人.

我的问题是,这些人如何变得如此优秀?这是天才吗?是体验吗?是否能够快速思考?你会怎么建议我提高自己的技能?我会说我是一名称职的程序员.我最终可以解决其中的一些问题.

此外,每当我检查获胜者的代码时,我都会看到很多宏被使用.这对我来说意味着它们有一个模板(比如#define for loops to some abbreviated version),它们可以用来更快地编程.这会产生重大影响吗?

Duk*_*ing 13

问题是,你正在与那些花费大量时间掌握他们的技能参加这些比赛的人竞争.你很快就不会赶上,但......

How do these people get so good?
Run Code Online (Sandbox Code Playgroud)

有理论知识解决问题和实践,实践,实践.

Is it pure genius?
Run Code Online (Sandbox Code Playgroud)

它可以,但实践可以在合理的范围内弥补它.

Is it experience?
Run Code Online (Sandbox Code Playgroud)

是.

Is it the ability to think really fast?
Run Code Online (Sandbox Code Playgroud)

并不是的.练习允许您正确处理问题并在问题陈述中跳过无关紧要的细节.

How would you suggest I improve my skills?
Run Code Online (Sandbox Code Playgroud)

获得理论知识和实践.

Do macros make a significant difference?
Run Code Online (Sandbox Code Playgroud)

它可能会减少10%的时间,但可能不会多.

  • 叶氏.无法替代实践. (2认同)

Jes*_*erE 7

从统计学的角度来说,任何与足够大的观众进行的节目竞赛都会吸引超级人才,他们可以超高速地制作出漂亮优雅的代码.就像跑马拉松一样.即使世界纪录大约2小时,在4小时内运行也非常好.别担心.

专注于代码质量和优雅,而不是以超高速度生成代码.练习,玩得开心,不要过分关注别人的工作速度.