力扣
https://leetcode-cn.com/problems/factorial-zeros-lcci/
难度简单52
设计一个算法,算出 n 阶乘有多少个尾随零。
示例 1:
输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
通过次数10,551提交次数22,738
class Solution {
public int trailingZeroes(int n) {
int ans =0;
while(n>0)
{
ans+=n/5;
n/=5;
}
return ans;
}
}

这篇博客介绍了如何设计一个O(log n)时间复杂度的算法来计算n阶乘尾部的零数量。通过不断将n除以5并累计结果,可以有效地找出阶乘中的零数。例如,3的阶乘没有尾随零,而5的阶乘有一个尾随零。
225

被折叠的 条评论
为什么被折叠?



