首页 > 解决方案 > Leetcode #77 组合 - 不确定这个语法有什么问题

问题描述

我正在尝试学习 python 并且正在做 leetcode 问题以更加熟悉语法。我收到错误消息:

NameError: name 'dfs' is not defined
    dfs(result, temp, 0, n, k)

我也不确定我是否正确声明了列表,或者我是否应该将self其作为参数传递给函数。

class Solution:
    def dfs(self, result: List[List[int]], temp:List[int], index: int, n: int, k: int):
        for i in range(index + 1, n + 1):
            temp.push(i)
            if len(temp) == k:
                result.push(temp)
                temp.pop()
                return 
            else:
                dfs(result, temp, i, n, k)
                temp.pop()
                
    def combine(self, n: int, k: int) -> List[List[int]]:
        result = [[]];
        temp = [];
        dfs(result, temp, 0, n, k)
        return result

标签: pythonattributes

解决方案


应该是self.dfs(result, temp, 0, n, k)。所以换到self.dfs你正在使用的地方dfs


推荐阅读