题解 | #牛群全排列数#
牛群全排列数
https://www.nowcoder.com/practice/5ab233c23fcc4c69b81bd5a66c07041c
知识点:动态规划
如题目要求得到所有的全排列可能数,就需要使用回溯的方法,将每种可能枚举出来。但题目只需要求出全排列的可能个数,就不需要一一的枚举,很容易可以想到,全排列的个数就是阶乘的结果,故我们可以利用阶乘直接计算出结果。
Java题解如下:
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
public int factorial (int n) {
// write code here
final int MOD = (int) 1e9 + 7;
long[] dp = new long[n + 1];
dp[0] = 1;
for(int i = 1; i <= n; i++) {
dp[i] = i * dp[i - 1];
dp[i] %= MOD;
}
return (int) dp[n];
}
}

