Golang每日一练(leetDay0061) 表列序号、阶乘后的零

news2024/9/21 20:31:23

目录

171. Excel 表列序号 Excel Sheet Column Number  🌟

172. 阶乘后的零 Factorial Trailing Zeroes  🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


171. Excel 表列序号 Excel Sheet Column Number

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。

例如:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入: columnTitle = "A"
输出: 1

示例 2:

输入: columnTitle = "AB"
输出: 28

示例 3:

输入: columnTitle = "ZY"
输出: 701

提示:

  • 1 <= columnTitle.length <= 7
  • columnTitle 仅由大写英文组成
  • columnTitle 在范围 ["A", "FXSHRXW"] 内

代码:

package main

import "fmt"

func titleToNumber(columnTitle string) int {
	res := 0
	for i := range columnTitle {
		res *= 26
		res += int(columnTitle[i] - 'A' + 1)
	}
	return res
}

func main() {
	fmt.Println(titleToNumber("A"))
	fmt.Println(titleToNumber("AB"))
	fmt.Println(titleToNumber("ZY"))
}

输出:

1
28
701

反向转换见leetcode168题,两个函数对比:

```golang
func convertToTitle(columnNumber int) string {
    ans := ""
    for columnNumber > 0 {
        mod := (columnNumber - 1) % 26
        ans = string('A'+mod) + ans
        columnNumber = (columnNumber - 1) / 26
    }
    return ans
}

func titleToNumber(columnTitle string) int {
    ans := 0
    for i := range columnTitle {
        n := int(columnTitle[i] - 'A' + 1)
        ans = ans*26 + n
    }
    return ans
}
```


172. 阶乘后的零 Factorial Trailing Zeroes

给定一个整数 n ,返回 n! 结果中尾随零的数量。

提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1

示例 1:

输入:n = 3
输出:0
解释:3! = 6 ,不含尾随 0

示例 2:

输入:n = 5
输出:1
解释:5! = 120 ,有一个尾随 0

示例 3:

输入:n = 0
输出:0

提示:

  • 0 <= n <= 10^4

进阶:你可以设计并实现对数时间复杂度的算法来解决此问题吗?

代码:

package main

import "fmt"

func trailingZeroes(n int) int {
	count := 0
	for i := 5; i <= n; i *= 5 {
		count += n / i
	}
	return count
}

func main() {
	fmt.Println(trailingZeroes(3))
	fmt.Println(trailingZeroes(5))
	fmt.Println(trailingZeroes(0))
	fmt.Println(trailingZeroes(20))
}

输出:

0
1
0
4

原理:

阶乘 n! = 1*2*3*......*(n-1)*n

这个式子中,因子 5 的个数只有5,0结尾的数才有,而因子2每个偶数都会有,包含的因子 2 的个数肯定多于因子 5 的个数,因此因子 5 的个数决定阶乘式尾数 0 的个数。


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

评论,你的意见是我进步的财富!  

 主页:https://hannyang.blog.csdn.net/ 

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ImageBind 多模态文本、图像、音频 Embedding同一个共享空间

参考&#xff1a; https://github.com/facebookresearch/ImageBind ImageBind learns a joint embedding across six different modalities - images, text, audio, depth, thermal, and IMU data ImageBind 多个模态共享同一个空间Embedding&#xff0c;这样可以通过一个模态…

【虾皮shopee来赞达lazada】各区域商品详情API接口返回值说明

虾皮shopee电商数据&#xff08;来赞达lazada同理&#xff09; 虾皮(shopee)是一个亚洲区域的电商平台&#xff0c;主要在东南亚地区提供电商服务。虾皮提供了丰富的电商数据&#xff0c;包括商品数据、订单数据、会员数据、评价数据等。以下是具体的介绍&#xff1a; 商品数据…

SpringBoot ( 二 ) 配置Controller

2.Controller处理请求 由于 在建立 SpringBoot项目时选择的 Web > Spring Web , Maven会导入 SpringMVC 框架 依赖, 做为 Web处理框架 在 SpringMVC框架中 , 通过 Controller类中的方法 来处理请求, 产生响应 在方法中 要解决以下问题 标识方法转页接收请求时传递信息封装响…

生物识别技术的安全挑战

背景 如今&#xff0c;生物识别技术已成为最流行的趋势之一&#xff0c;该趋势旨在通过更具弹性的身份验证机制来提高安全性并阻止网络攻击。目前&#xff0c;全球不仅面临着越来越多的跨设备和系统的网络威胁&#xff0c;冠状病毒大流行还改变了消费者和企业对数字和物理风险…

ChatGPT会如何影响我们的工作生活和人力资源需求

ChatGPT&#xff0c;这几天体验了一下&#xff0c;确实是非常震撼。 一方面是因为它的回答确实相当好&#xff0c;自带一点框架逻辑&#xff0c;有上下文理解能力&#xff0c;可以追问&#xff0c;有情商。虽然很多时候都是一些正确的废话 它还有媲美一个普通大学生的信息整合…

PCIe热插拔机制(详细)总结-PCIe专题知识(五)

目录 前言一、概述二、原理详解2.1 热插拔原理总结2.2 热插拔软硬件要求 三、其他相关知识链接1、PCIe物理层总结-PCIE专题知识&#xff08;一&#xff09;2、PCIe数据链路层图文总结-PCIe专题知识&#xff08;二&#xff09;3、PCIe物理层链路训练和初始化总结-PCIe专题知识&a…

macOS Ventura 13.4 RC(22F62)发布

系统介绍 5 月 10 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.4 RC 更新&#xff08;内部版本号&#xff1a;22F62&#xff09;&#xff0c;本次更新距离上次发布隔了 49 天。 macOS Ventura 带来了台前调度、连续互通相机、FaceTime 通话接力等功能。其中&a…

工程化:vite4和vue3里面的命令式loading的封装及使用

用习惯了vue的组件使用方式,转到vue3里面发现没有了vue的原型,不能全局挂载方法了,我们要使用命令式调用组件该怎么做, 效果展示 代码演练 1.组件结构 2.基础的组件模板loading.vue <template><sectionclass="full-loading":class

Java 诊断神器:Arthas

Arthas 是一款线上监控诊断产品&#xff0c;通过全局视角实时查看应用 load、内存、gc、线程的状态信息&#xff0c;并能在不修改应用代码的情况下&#xff0c;对业务问题进行诊断&#xff0c;包括查看方法调用的出入参、异常&#xff0c;监测方法执行耗时&#xff0c;类加载信…

SpringBoot【开发实用篇】---- 测试

SpringBoot【开发实用篇】---- 测试 1. 加载测试专用属性2. 加载测试专用配置3. Web环境模拟测试4. 数据层测试回滚5. 测试数据用例设定 说完bean配置相关的内容&#xff0c;下面要对前面讲过的一个知识做加强了&#xff0c;测试。测试是保障程序正确性的唯一屏障&#xff0c;在…

ubuntu重启ssh服务

一、开启ssh服务首先需要安装打开ssh服务的库&#xff1a; sudo apt-get install openssh-server 二、检查当前的ssh开启情况&#xff1a; ps -e |grep ssh 三、如果有sshd&#xff0c;则ssh-server已经启动&#xff1b;若仅有agent&#xff0c;则尚未启动&#xff1b; 开启ssh…

宝塔面板Nginx防火墙安装

宝塔防火墙作用 要让你的网站保持持久的安全和稳定&#xff0c;开启网站防火墙是必不可少的一步。别等到被攻击的时候再去补救&#xff0c;那个时候某种程度来讲&#xff0c;已经晚了。安装和开启防火墙&#xff0c;就是防患于未然。未雨绸缪。最大程度保护好你的云服务器和网站…

JAVAWeb11-服务器渲染技术 -JSP-03-JSTL(会使用)

1. JSTL 标签库介绍 JSTL 标签库 是指 JSP Standard Tag Library &#xff1a;JSP 标准标签库EL 表达式是为了替换 jsp 中的表达式脚本&#xff0c;JSTL 是为了替换代码脚本。这样 jsp 页面变得更佳简洁JSTL 由五个标签库组成 使用 JSTL&#xff0c;需要导入相关的 jar 包 2…

一文读懂:客户管理系统平台是什么?有什么作用?

“客户管理系统平台是什么&#xff1f;” “客户管理系统平台有什么作用&#xff1f;在哪里可以应用&#xff1f;怎么用&#xff1f;” 经常可以听到企业内部关于客户管理系统平台的这些问题&#xff0c;本文将会为您一一解答&#xff1a; 一、客户管理系统平台是什么 顾名…

远程桌面连接Windows Server,提示“你的远程桌面服务会话已结束,可能是下列原因之一”错误

1、错误描述如下&#xff1a; 2、问题原因 出现该问题可能有以下原因&#xff1a; Windows实例的系统盘无Users用户&#xff0c;您可以参考方案一&#xff1a;添加Users用户修复该问题。 Windows实例的系统盘Users用户无读取和执行、列出文件夹内容、读取权限&#xff0c;您…

python建立字典的方法

在学习 Python的过程中&#xff0c;我们需要用到一些字典类的模块&#xff0c;例如 gdb、 gdtool等&#xff0c;但是这些字典类的模块都是以文件的形式存在。虽然通过 pip等命令也可以进行安装&#xff0c;但是在安装过程中我们需要非常仔细的检查安装包是否正确&#xff0c;以…

03FPGA—led灯的显示(入门)

学习fpga也有段时间了&#xff0c;但后台有几个朋友问我能不能分享一点简单入门例子&#xff0c;于是我打算发经典的如何控制led的例子,本文主要分享设计流程以及简单的verilog语法。 设计流程主要包括五个步骤模块设计、波形设计、编写rtl代码、仿真验证、上板验证&#xff0c…

Windows编程资源,菜单资源,图标资源,光标资源,上下文菜单,字符串资源,加速键资源

Windows资源是一种二进制数据&#xff0c;由链接器链接进程序成为程序的一部分&#xff0c;通过资源的方式可以很方便的对应用程序进行扩展。在Windows中资源可以是系统自定义的&#xff0c;也可以是用户自定义的。在本篇文章中为大家讲解菜单资源&#xff0c;上下文菜单&#…

【LeetCode】617. 合并二叉树

1.问题 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要将这两棵树合并成一棵新二叉树。合并的规则是&#xff1a;如果两个节点重…

Win11系统更新后网络速度变的很慢怎么办?

Win11系统更新后网络速度变的很慢怎么办&#xff1f;有用户将自己的电脑系统升级到了Win11之后&#xff0c;出现了一些问题。电脑在使用中出现了网络速度变慢的情况。而且其它的设备在连接网络后速度是正常的&#xff0c;那么这个问题要怎么解决&#xff1f;来看看以下的方法分…