php中文网

AoC &#- DayBridge 修复

php中文网

第七天:桥梁修复

对于这个解决方案,我发现最好的方法是使用递归。

什么是递归?

递归是指函数调用自身来解决问题的较小部分。这就像通过将一个大谜题分解成较小的、相同的谜题来解决它。每次函数调用自身时,它都会处理原始问题的一小部分。

递归如何工作?

递归有两个主要部分:

基本案例:

这是递归停止的时候。这是问题的最简单的版本。将其视为“球门柱”。一旦到达,函数就会停止调用自身并开始返回结果。

在我们的例子中,这是当索引==方程参数的长度时。

递归案例:

这是函数调用自身来解决问题的较小部分的时候。

这就像每次都离基本情况更近一步。

谜题如何使用递归?

在这个谜题中,目标是检查是否可以通过在一系列数字之间应用运算符( 、*、||)来得出目标数字。

这是挑战:

尝试在当前数字和下一个数字之间应用 。
尝试在当前数字和下一个数字之间应用 *。
尝试使用||组合两个数字(连接)。

继续此过程,直到:

使用所有数字,结果等于目标(Base Case)

在没有找到匹配的情况下探索所有可能性(递归情况)

您可以在这里找到 Python 和 C# 的解决方案

一如既往,请随时在 Twitter 上关注我,以获取跨多种媒体的更多提示、解决方案、文章和博客文章。

以上就是AoC &#- DayBridge 修复的详细内容,更多请关注php中文网其它相关文章!