这最终应该用 JavaScript 编写。但是我觉得在我的算法清楚之前我不应该输入任何代码,事实并非如此!
给定问题:从 1 开始,编写一个给定数字的函数,该函数返回一个操作序列,该操作序列仅由其中一个"+5"
或"*3"
产生所讨论的数字组成。
我的基本算法:
- 获取号码
- 如果数字为 1,则
返回 1。 - 否则,如果我们超过数字
返回 -1。 - 否则继续尝试
"+5"
或"*3"
直到达到数字,假设可以达到。
我的问题是第 4 步:我看到有两条路径可以将我带到有问题的数字(目标),要么是"+5"
OR "*3"
,但是可以通过两条路径的 MIXTURE 找到的数字 13 呢? ? 我只能做一件事或另一件事!我怎么知道要走哪条路以及我应该走多少次?我将如何在路径之间来回反弹?