标签: c++ algorithm
我在面试问题中遇到了这个问题。
给定一组数字,我们必须计算这个数组可能的紊乱总数。数组的紊乱是那些在原始位置没有元素的permeations。对数组中的数字类型没有限制。也可能有重复。
我知道使用包含 - 排除原则的解决方案。我正在寻找一个使用DP的递归公式。这种方法可能使用memoization和bitmasks。谢谢。
答案 0 :(得分:2)
Derangement from Wikipedia
其中!n是紊乱的数量,假设没有重复。