当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

[Leetcode] Factorial Trailing Zeroes 末尾零

作者:小梦 来源: 网络 时间: 2024-01-20 阅读:

Factorial Trailing Zeroes

Given an integer n, return the number of trailing zeroes in n!.

Note: Your solution should be in logarithmic time complexity.

迭代法

复杂度

时间 O(logN) 空间 O(k^2)

思路

技巧在于,每5个数会产生一个0。为什么呢?试想1*2*3*4*5*6*7*8*9*10*11,前5个数中有一个2一个5,相乘有一个0,后5个数中有一个10,又有一个0。以此类推,每5个数会有一个0。

代码

public class Solution {    public int trailingZeroes(int n) {        int sum = 0;        while(n > 0){// 阶乘中有多少5,结果就有多少个0sum += n / 5;n /= 5;        }        return sum;    }}

热点阅读

网友最爱