两个简单的面试小题---递归---主要考察逻辑能力

1.编写一个函数,用户输入为一个数组,例如a=[‘1’,‘a’,'c'],给出所有的排列组合

1ac
1ca
a1c
ac1
c1a
ca1,

要求递归实现

简单的回溯

def func(a, result = []):
    if len(a) == len(result):
        print("".join(result))
        return
    for i in a:
        if i in result:
            continue
        result.append(i)
        func(a,result)
        result.remove(i)
if __name__ == '__main__':
    func(['1', 'a', 'c'])

2.编写一个函数输入一个值和一个列表,判断该值是否在列表中,递归实现

例如:

输入:1,[1,2,4]  返回True

输入:1,[2,3,4] 返回False

太简单了,就不贴代码了。

你可能感兴趣的:(Python)