You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

递归函数生成指定嵌套列表的实现问题

解决方案

你的代码当前返回的是嵌套的单元素列表,和需求的结构不符。观察你给出的输入3的结果,可以发现规律:func(n) 是包含 func(0) 到 func(n-1) 的列表,递归关系为 func(n) = func(n-1) + [func(n-1)](因为 func(n-1) 已经包含了前n-1个结果,加上自身就得到前n个结果)。

修正后的递归函数如下:

def func(n):
    if n == 0:
        return []
    prev = func(n-1)
    return prev + [prev]

测试结果:

  • func(0) → []
  • func(1) → [[]]
  • func(2) → [[], [[]]]
  • func(3) → [ [], [ [] ], [ [], [ [] ] ] ]

你提到输入1返回[[], [[]]],这应该是输入2的结果,可能是描述时的笔误。如果坚持输入1要返回该结果,那么需求的递归关系会导致无限嵌套(因为func(1)需要包含自身),无法实现有限长度的列表。

内容的提问来源于stack exchange,提问作者Dr.jj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:40:36