算法 2.1.1 数字阶乘的计算

2021-01-24  本文已影响0人  珺王不早朝

题目描述

求 n! = (n-1)! × n

示例:
输入:n=9
输出:362880

提示:
0!=1
给“0!”下定义只是为了相关公式的表述及运算更方便

n为大于等于0的整数

算法思维

解题要点

解题思路


一. Comprehend 理解题意
二. Choose 选择数据结构与算法
递归解法
三. Code 编码实现基本解法
class Solution {
    public int fact(int n){
        //1.递归的结束条件
        if (n == 0){
            return 1;
        }

        //2.主体逻辑

        //3.递归公式:f(n) = f(n-1)*n
        return fact(n-1)*n;
    }
}

执行耗时:-
内存消耗:-
时间复杂度:O(n) -- n 次递归调用 O(n),n 次乘法运算 O(n)
空间复杂度:O(1) -- 常数级内存空间 O(1)

四. Consider 思考更优解

=== 待续 ===

五. Code 编码实现最优解

=== 待续 ===

六. Change 变形与延伸

=== 待续 ===

上一篇 下一篇

猜你喜欢

热点阅读