Find the Derangement of An Array
题目描述:
给定一个数字n,表示用[1..n]组成排列组合。要求找到所有满足对应位置与其数不对应的情况。
例子:
具体描述见LeetCode634
解题思路:
主要的思路是动态规划,其中找到的规律是D[N] = (N - 1)*(D[N - 1] + D[N - 2]);我们可以理解为如下的解法:在对N个数进行排列时,第一个位置可以是N-1中选择,假设选择了X,而对应的X的位置上的位置可能是1,这种情况下一共有D[N - 2]可能;如果不是1的情况下则有D[N - 2]可能。
代码如下:
|
|