【发布时间】:2021-06-09 21:43:09
【问题描述】:
一只青蛙试图穿过池塘,但他只能在石头上跳跃,最多可以跳五个单位。
我们得到了一个包含 1 和 0 的数组(0 代表水,1 代表石头)以及寻找最佳方法以找到跳跃次数最少的路径的任务(如果可能,使用分而治之)。
数组示例 -> [0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0] p.s:青蛙从数组前一个单元开始,必须到达数组后一个单元(可能是没有可用的路径,上面提到的条件)
我刚刚开始学习算法,如果你们能帮助我学习算法和代码,那就太好了。
【问题讨论】:
-
问题陈述中似乎缺少某些内容。青蛙需要做的就是跳得越远越好。换句话说,解决方案是一个简单的 O(n) 贪心算法。
-
@user3386109 我知道贪心算法,但你能提出一个分而治之的解决方案
-
似乎任何分而治之的方法都只会模仿贪婪的方法,但速度较慢且记账更多。您是否有任何理由需要针对这个特定问题的 D&D 算法?
-
@ADdV 问题是在 D&D 会议中提出的,所以我认为通过 D&D 解决方案更好地解决可能是有意义的
-
@ADdV tnx 很多
标签: algorithm divide-and-conquer