我正在研究递归函数(不是从库中)来创建具有重复的排列,我发现了一些我理解的代码。我想更进一步,尝试将其另存为Numpy数组,但是我似乎无法找出将存储的排列返回到哪里的“返回”方法。请指教。
def _permutation_repeat(text, prefix, n, k):
if k == 0:
print(prefix)
return
for i in range(n):
new_prefix = prefix + text[i]
_permutation_repeat(text, new_prefix, n, k-1)
def permutation_repeat(text, k):
_permutation_repeat(text, "", len(text), k)
permutation_repeat("ABCD", 2)
来自https://code.luasoftware.com/tutorials/coding-interview/permutations-with-repeating-characters/的代码
您可以尝试:
def _permutation_repeat(text, prefix, n, k):
if k == 0:
print(prefix)
return np.array([prefix])
arr = np.array()
for i in range(n):
new_prefix = prefix + text[i]
new_arr = _permutation_repeat(text, new_prefix, n, k-1)
arr = np.concatenate([arr, new_arr])
return arr
def permutation_repeat(text, k):
return _permutation_repeat(text, "", len(text), k)
permutation_repeat("ABCD", 2)