题解 | #牛群全排列数#
牛群全排列数
https://www.nowcoder.com/practice/5ab233c23fcc4c69b81bd5a66c07041c?tpId=354&tqId=10595868&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354
一、知识点:
动态规划(DP)
二、文字分析:
- 动态规划:我们使用一个数组dp来保存每个阶段的计算结果,通过递推关系dp[i] = i * dp[i-1]来计算。最后返回dp[n]的结果。
- 时间复杂度为O(n)
三、编程语言:
java
四、正确代码:
public class Solution { public int factorial(int n) { long result = 1; for (int i = 2; i <= n; i++) { result = (result * i) % 1000000007; } return (int)result; } }