172. 阶乘后的零

https://leetcode.cn/problems/factorial-trailing-zeroes/description/?envType=study-plan-v2&envId=top-interview-150

只有2 * 5才会产生0,所以我们只要统计2和5的对数就行,因为2的数量一定大于5的数量,所以决定0个数的是5的数量。

java 复制代码
    public int trailingZeroes(int n) {
        int fiveNum = 0;
        for(int i = 5; i <= n; i += 5) {
            int num = i;
            while (num % 5 == 0) {
                num /= 5;
                fiveNum++;
            }
        }
        return fiveNum;
    }

O(n)的实现,我们知道只要考虑能拆出的5的数量就可,而n/5得到的就是当前n中第一次能拆出的5的数量;n/25得到的就是当前n中第二次能拆出的5的数量,以此类推直到拆不出5为止。

java 复制代码
    public int trailingZeroes2(int n) {
        int fiveNum = 0;
        while (n >= 5) {
            n /= 5;
            fiveNum += n;
        }
        return fiveNum;
    }
相关推荐
QC班长6 小时前
Maven公司私库配置踩坑点
java·服务器·maven·intellij-idea
Makoto_Kimur6 小时前
java开发面试-AI Coding速成
java·开发语言
wuqingshun3141596 小时前
说说mybatis的缓存机制
java·缓存·mybatis
知识浅谈6 小时前
DeepSeek V4 和 GPT-5.5 在同一天发布了??我也很懵,但对比完我悟了
算法
DeepModel7 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
田梓燊7 小时前
力扣:19.删除链表的倒数第 N 个结点
算法·leetcode·链表
空中海7 小时前
Kubernetes 生产实践、可观测性与扩展入门
java·贪心算法·kubernetes
Devin~Y7 小时前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 与 Spring AI(RAG/Agent)三轮连环问
java·spring boot·redis·mysql·spring cloud·kafka·kubernetes
bLEd RING7 小时前
SpringBoot3.3.0集成Knife4j4.5.0实战
java
小松加哲8 小时前
Spring MVC 核心原理全解析
java·spring·mvc