滑动拼图游戏大家应该都玩过,下图是一个 4x4 的滑动拼图: 拼图中有一个格子是空的,可以利用这个空着的格子移动其他数字。你需要通过移动这些数字,得到某个特定排列顺序,这样就算赢了。 我小时候还玩过一款叫做「华容道」的益智游戏,也和滑动拼图 ...
素数的定义看起来很简单,如果一个数如果只能被 1 和它本身整除,那么这个数就是素数。 不要觉得素数的定义简单,恐怕没多少人真的能把素数相关的算法写得高效。比如让你写这样一个函数: 这样写的话时间复杂度 O(n^2),问题很大。首先你用 isPrime 函数来 ...
算法这个词有一股魔力,似乎任何工作任务加上它就能变得自动化,任何神奇的新发现也都离不开算法的帮助。那么什么是算法,我们又该如何学习算法呢?在这一本开源书籍《算法》中,作者根据 20 年的算法教学经历反复使用与修正,并在几天前完成出版前的 ...