题解 | #牛群全排列数#
牛群全排列数
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]; } }