欢迎光临
我们一直在努力

为什么很多人刷了几百道算法题,却还是不会做「水壶问题」?真正难住你的,从来不是代码

为什么很多人刷了几百道算法题,却还是不会做「水壶问题」?真正难住你的,从来不是代码

作者:Echo_Wish

如果你刷过 LeetCode,相信一定见过这样一道题:

给你两个容量分别为 x 升 和 y 升 的水壶,没有刻度。

可以执行下面三种操作:

  • 装满任意一个水壶
  • 倒空任意一个水壶
  • 将一个水壶的水倒入另一个水壶,直到一方为空或另一方装满

问:是否能够得到 target 升 的水?

第一次看到这道题,大多数人的第一反应都是:

“这不是模拟吗?”

于是开始写 DFS、BFS、状态搜索……

结果写了半天,不是超时,就是状态爆炸。

后来有人告诉你:

这题其实就是最大公约数(GCD)!

很多人当场就懵了。

明明是一道模拟题,为什么最后变成了数学题?

其实,这正是算法最有意思的地方。

真正优秀的算法题,从来不是考你代码写得快,而是在考你能不能透过现象看到本质。

今天,我们就一起聊聊这道经典中的经典——Water and Jug Probl

赞(0)
未经允许不得转载:171主机测评 » 为什么很多人刷了几百道算法题,却还是不会做「水壶问题」?真正难住你的,从来不是代码
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址