给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2:
输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
只要计算给出的数可以分解出多少个5就可以了
class Solution {
public int trailingZeroes(int n) {
int count =0;
//算5的个数
while(n>=5){
count+=n/5;
n=n/5;
}
return count;
}
}
本文介绍了一种高效算法,用于计算给定整数n的阶乘结果中尾数零的数量。通过分析5的倍数对尾数零的贡献,提出了一种O(logn)时间复杂度的解决方案。
387

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



