SML:函数 foldl 是否采用预定义的列表,或者列表可以在此过程中累积?
SML: Does the function foldl take the list predefined, or list could be accumulated during the process?
下面是一道作业题。不是在寻找答案,而是在寻找澄清
我应该找到第 n 个加泰罗尼亚语数,它基于与我的问题无关的递归关系。
我的问题是:
函数 foldl 接受一个函数、一个累加器和一个列表
当我应用 foldl 时,它看起来像这样
foldl function_name initial_value_for_accumulator 列表
我们的教授在问题中说了以下内容:
实现函数 Catalan:int -> int
,当给定一个整数 n
时,计算
第 n 个加泰罗尼亚语数。要获得满分,请在您的解决方案中使用高阶函数 foldl
。
Foldl 必须拿一个列表。所以,问题是:我能否传递在递归过程中建立的列表?或者我必须计算列表然后将其传递给 foldl?
同时使用递归和 foldl
是不常见的,尤其是在基础练习中。我相信教授告诉你使用 foldl
而不是 递归。
如您所述,这需要您定义一个列表并将其传递给 foldl
。通常,如果您需要遍历从 1
到 n
的数字,您可以从这些数字的列表开始。
下面是一道作业题。不是在寻找答案,而是在寻找澄清
我应该找到第 n 个加泰罗尼亚语数,它基于与我的问题无关的递归关系。
我的问题是:
函数 foldl 接受一个函数、一个累加器和一个列表
当我应用 foldl 时,它看起来像这样 foldl function_name initial_value_for_accumulator 列表
我们的教授在问题中说了以下内容:
实现函数 Catalan:int -> int
,当给定一个整数 n
时,计算
第 n 个加泰罗尼亚语数。要获得满分,请在您的解决方案中使用高阶函数 foldl
。
Foldl 必须拿一个列表。所以,问题是:我能否传递在递归过程中建立的列表?或者我必须计算列表然后将其传递给 foldl?
同时使用递归和 foldl
是不常见的,尤其是在基础练习中。我相信教授告诉你使用 foldl
而不是 递归。
如您所述,这需要您定义一个列表并将其传递给 foldl
。通常,如果您需要遍历从 1
到 n
的数字,您可以从这些数字的列表开始。