目录
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://www.toymoban.com/news/detail-442617.html
☸ 主页:https://hannyang.blog.csdn.net/ 文章来源地址https://www.toymoban.com/news/detail-442617.html
Golang每日一练 专栏 |
|
Python每日一练 专栏 |
|
C/C++每日一练 专栏 |
|
Java每日一练 专栏 |
到了这里,关于Golang每日一练(leetDay0061) 表列序号、阶乘后的零的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!