leetcode-172. 阶乘后的零

news/2024/4/28 3:38:57/文章来源:https://www.cnblogs.com/geaming/p/16632514.html

172. 阶乘后的零

图床:blogimg/刷题记录/leetcode/172/

刷题代码汇总:https://www.cnblogs.com/geaming/p/16428234.html

题目

image-20220828112313399

思路

n!中有几个0[1,n]中出现多少个5的因数有关。例如7! = 1×2×3×4×5×6×7出现了1次5,故最后末尾会出现1个0。26!中出现了5,10,15,20,25其中5的个数为1+1+1+1+2=6,故最后末尾会出现6个0。

解法

class Solution {
public:int cal(int k){if(k==0)return 0;else if(k%5==0){return cal(k/5)+1;}return 0;}int trailingZeroes(int n) {int count = 0;for (int i = 0;i<n+1;i+=5){count += cal(i);}return count;}
};
  • 时间复杂度:\(O(n)\),其中\(n\)为数组\(nums\)的长度,需要遍历一遍数组
  • 空间复杂度:\(O(1)\),仅使用常量空间

补充

image-20220828115103279

所以可知:

\(ans = n/5+n/5^2+n/5^3+\cdots\)

class Solution {
public:int trailingZeroes(int n) {int ans = 0;while (n) {n /= 5;ans += n;}return ans;}
};

复杂度:

  • 时间复杂度:\(O(log\,n)\)
  • 空间复杂度:\(O(1)\)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_2852.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java内部类

一、基本介绍 一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。是我们类的第五大成员 类的五大成员:属性、方法、构造器、代码块、内部类 内部类最大的特点就是可以直接访问私有属性,并且可以体现类…

redis主从数据同步原理

what:redis高可用:1、数据尽量不丢失;2、尽可能的提供服务;栗子:AOF 和 RDB 保证了数据持久化尽量不丢失;主从复制就是增加副本,一份数据保存到多个实例上。即使有一个实例宕机,其他实例依然可以持续服务;主从:复制——为单向的,即:只能从主复制到从;读写指责——…

Linux驱动开发十六.input系统——2.input_event

我们上一章完成了input子系统的设备构成,并且在用户空间通过hexdump命令拿到了一堆不知道是什么的信息。今天我们就要借助input_event这个结构体来了解内核怎么通过那个结构体了解输入事件。 可能有心人已经发现了,上一章我们在加载完模块以后在/dev/input路径下生成了一个新…

(0828)【vivado版本-对仿真工具版本要求】

(1)https://blog.csdn.net/Alonger1988/article/details/120506385 vivado,vsim版本兼容问题 (2)版本匹配:http://dengkanwen.com/567.html

Ingress

为什么需要Ingress Service是基于四层TCP和UDP协议转发的,而Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分,如下图所示。 图1 Ingress-ServiceIngress工作机制 要想使用Ingress功能,必须在Kubernetes集群上安装Ingress Controller。Ingr…

Rayman Mini for Mac(雷曼迷你跑酷游戏)中文

Rayman Mini for Mac是一款运行在MacOS平台上的经典跑酷类游戏,玩家在Rayman Mini可以看到经典的传统角色,与玩家一起在世界中探险,还有超多全新的角色出现。游戏包含动作横向跑酷和剧情解谜探索为一体,呈现了一个别样的世界。 详情:Rayman Mini for Mac(雷曼迷你游戏) 游…

Java09-继承,抽象类

继承:就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接 访问父类中的非私有的属性和行为。父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意…

IDEA配置方法注释

之前配置过,但是忘记了,再次记录下. IDEA版本(IntelliJ IDEA 2019.3.1 x64)类注释如下位置配置,创建类时自动生成注释.点击查看代码 /** * ${NAME} * *@author ${USER} *@version 1.0 *${DATE} ${TIME} **/效果如下:方法注释 如下位置建立tempalte group.1.新增add,这里add可以…

程序设计大赛

一开始可以分清楚板块1.背景2.基本功能介绍 + 难点功能 可以里面的内容串起来3.重难点+亮点 分清楚,难点,亮点 我们答辩时间是10分钟,背景大概是1分半,首先是整个系统爬取数据,经行一个总的说明,构建情况然后我是通过一首诗来进行串的,从知人论事开始说起,知人就…

ansible 001 ansible介绍 原理

ansible 自动化运维 ansible 部署应用程序 (在操作系统层面之上) 系统初始化过程 主机名,yun源,网络,服务,时间同步,内核参数 (可以在pxe这里完成) ansible可以方便100多台服务器来变更,不至于pxe重新安装 PXE 预启动的执行环境 PXE (Pre-boot Execution Enviro…

使用小乌龟来更新代码-02

小乌龟更新代码使用的是pull 右击项目文件,TortoiseGit--->pull来更新代码,从远程仓库拉取最新的代码,拉取后。 点击OK 然后点击Pulled Diff,点击Show log看看当前版本和最新版本相比哪里有修改,是否有冲突: 例如,我把一个压缩文件给删除了,还有修改了Default里的一…

【Prometheus+Grafana系列】监控MySQL服务

前言 前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务。当时实现了监控服务器指标数据,是通过 node_exporter。Prometheus 还可用来监控很多服务,比如常见的 MySQL。本文就介绍如何通过 mysqld_exporter 来监控 MySQL 指标。 下载安装包 cd /opt w…

CrystalDiskMark 磁盘读写性能测试 All In One

CrystalDiskMark 磁盘读写性能测试 All In OneCrystalDiskMark 磁盘读写性能测试 All In One https://crystalmark.info/en/software/crystaldiskmark/macOS ❌ 不支持 Windows 系统 ✅ 支持 U盘,移动固态硬盘,硬盘refs©xgqfrms 2012-2020www.cnblogs.com/xgqfrms 发布文…

彻底理解线程

操作系统支持多个应用程序同时执行,每个应用至少对应一个进程,彼此之间的操作和数据不受干扰。当一个进程需要磁盘IO的时候,CPU就切换到另外的进程,提高了CPU利用率。有了进程,为什么还要线程?因为进程的成本太高了。启动新的进程必须分配独立的内存空间,建立数据表维护…

软件质量保障流程

一. 软件质量保障流程 1.1 微服务产品的特点 微服务架构下,一个大型复杂软件系统不再是一个单体,而是一系列相互独立的微服务,特点鲜明:每个服务独立,开发技术栈独立 每个服务可以独立开发、部署、发布 服务之间通过轻量级通信机制沟通,常用的是 RESTful APIMicro Servic…

JavaScript实现栈结构(Stack)

Js实现栈结构 一、前言 1.1 什么是数据结构 数据结构就是在计算机中,存储和组织数据的方式。 例如:图书管理,怎样摆放图书才能既能放很多书,也方便取? 常见的数据结构:栈(Stack) 队列(Queue) 链表(Linked List) 集合(Set) 哈希(Hash) 树(Tree) 图(Graph)1.…

Jenkins设置中文

Jenkins是一个持续集成的平台,但是初次安装Jenkins之后,是英文的状态。下面给大家介绍如何将Jenkins设置为中文语言。一、下载Locale插件1点击【Manage Jenkins】选项。2点击【Manage Plugins】选项。 点击【可选插件】选项。 右侧搜索栏输入【Locale】选项。 勾选【插件选项…

URL重定向及绕过方法

1 概述 URL重定向漏洞也称URL任意跳转漏洞,是由于网站信任了用户的输入导致恶意跳转。URL重定向主要用来钓鱼,比如URL跳转中最常见的跳转在登录口、支付口,也就是一旦登录将会跳转任意自己构造的网站,如果设置成指定的URL,则会造成钓鱼等危害。 2 详情 2.1 跳转常用参数 在…

js删除css样式

js删除css样式_百度知道 https://zhidao.baidu.com/question/680409425108037292.html1、如果使用class加的样式的话,可以使用document.getElementById("objid").className=""来清空样式;  2、如果是直接加的style="***"属性的话,可以使用…

ArcGIS API forJavaScript4.x去除地图获取焦点的黑色边框

ArcGIS API forJavaScript4.x去除地图获取焦点的黑色边框CSS /* 去掉地图聚焦边框 */ .esri-view-surface--inset-outline:focus::after {outline: none !important; }箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。