打印由m个-1和n-m个1组成的所有数组

2024-04-26 14:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

给定元素n和m的个数,我必须打印所有不同的数组,m的个数为-1,n-m的个数为1。你知道吗


Tags: 元素数组个数
1条回答
网友
1楼 · 发布于 2024-04-26 14:26:05

你必须使用递归,但我希望它有帮助。你要确保你降了n级,并且在每一级你都会给你的阵法加上一个+1,或者如果你还没有使用所有的m-1的话就加上-1

最后,你打印你得到的数组(向量),如果数组中有n个数字,并且你使用的是m-1的。左整体显示剩余元素的总数。左负数表示您还可以添加多少-1。你知道吗

def rec(left_overall, left_negative, v = []):
    if left_overall == 0 and left_negative == 0:
        for i in range(0, len(v)):
            print(v[i], end=" ")

        print()
        return

    if left_overall == 0:
        return

    v.append(1)
    rec(left_overall - 1, left_negative, v)
    v.pop()

    if left_negative > 0:
        v.append(-1)
        rec(left_overall - 1, left_negative - 1, v)
        v.pop()
    return

n = 5
m = 2

arr = []
rec(n, m, arr)

相关问题 更多 >