几天前,我发现了Codility,并尝试了他们的挑战。我必须说。我把盘子放在盘子后面。我不确定是什么问题,但是我会舔伤口,等待解决方案出来,然后将其与自己的解决方案进行比较。同时,我想为下一个挑战做好准备,因此我正在阅读他们以前的博客文章,并了解如何解决他们先前的问题。我有很多新的事情都还没听说过(笛卡尔树,各种排序算法等)。
因此,如何应对这些挑战(尤其是O(x)的时间和空间复杂性)。我应该读些什么,以准备完成这样的任务?
最近,我一直在研究Haskell,以部分地使我的大脑扭曲(这将迫使它扭曲),以专门帮助在思考解决方案时变得更加敏捷。也就是说,我也正在阅读《算法设计手册》(存在免费在线pdf文件)和出于同样目的的库努斯的《计算机编程艺术第一卷基本算法》的车库销售副本(这也是脑部疼痛的严重来源) 。
—
吉米·霍法