Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >图解精选 TOP 面试题 006 | 进制转换

图解精选 TOP 面试题 006 | 进制转换

作者头像
江不知
发布于 2020-01-02 04:00:58
发布于 2020-01-02 04:00:58
40400
代码可运行
举报
文章被收录于专栏:编程拯救世界编程拯救世界
运行总次数:0
代码可运行

该系列题目取自 LeetCode 精选 TOP 面试题列表:https://leetcode-cn.com/problemset/top/

题目描述

LeetCode 171. Excel 表列序号:https://leetcode-cn.com/problems/excel-sheet-column-number/

给定一个 Excel 表格中的列名称,返回其相应的列序号。

例如,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28
    ...

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入: "A"
输出: 1

示例 2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入: "AB"
输出: 28

示例 3:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入: "ZY"
输出: 701

解题思路

通过观察可知,这道题的本质其实是 26 进制转 10 进制的计算。

A~Z 共 26 个字母,各字母对应数字关系如下:

与其他进制转 10 进制的计算方式相同。我们假设 n 位上的数字为 ,那么该位置所产生的 10 进制数值为:

最终的 10 进制结果即为各个位上所产生的数值之和。

以题目中给出的 "ZY" 为例:

具体实现

Python

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution:
    def titleToNumber(self, s: str) -> int:
        res = 0

        ans = 1

        for word in s[::-1]:
            res += ans * (ord(word) - ord('A') + 1)
            ans *= 26

        return res

Go

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func titleToNumber(s string) int {
    res := 0
    length := len(s)
    ans := 1
    for i := 0; i < length; i++ {
        index := length - i - 1
        res += ans * (int(s[index]) - int('A') + 1)
        ans *= 26
    }
    return res
}

复杂度

  • 时间复杂度:
  • 空间复杂度:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拯救世界 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LeetCode171-Excel表列序号(进制转换问题)
  给你一个字符串columnTitle,表示Excel表格中得列名称。返回该列名称对应得列序号。
别团等shy哥发育
2023/02/25
7680
LeetCode171-Excel表列序号(进制转换问题)
☆打卡算法☆LeetCode 171. Excel 表列序号 算法解析
“给定一个字符串 columnTitle,表示Excel表格中的列名称,返回该列名称对应的列序号。”
恬静的小魔龙
2022/08/07
3880
☆打卡算法☆LeetCode 171. Excel 表列序号 算法解析
画解算法 171-Excel表列序号
https://leetcode-cn.com/problems/excel-sheet-column-number/
灵魂画师牧码
2019/06/26
4850
画解算法 171-Excel表列序号
LeetCode-171. Excel 表列序号(java)
《168. Excel表列名称》,它是给你一个整数 columnNumber ,然后返回它在 Excel 表中相对应的列名称,而这道题是它的逆向衍生题,给你excel表中的列名称,要你返回所对应的列序号。
bug菌
2023/05/27
2490
LeetCode-171. Excel 表列序号(java)
Leetcode No.171 Excel表列序号
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
week
2021/05/06
8950
【leetcode刷题】T189-Excel表列序号
https://leetcode-cn.com/problems/excel-sheet-column-number/
木又AI帮
2019/10/31
4500
LeetCode 168. Excel表列名称
1. 题目 给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例 1: 输入: 1 输出: "A" 示例 2: 输入: 28 输出: "AB" 示例 3: 输入: 701 输出: "ZY" 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/excel-s
Michael阿明
2020/07/13
7050
Excel表列序号
将字符转化为ASCII码,A-Z是连续的,且A为65,所以转换以后减一个65 + 1,值就在1-26里了。
_kyle
2020/12/03
1K0
​LeetCode刷题实战171: Excel表列序号
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
程序员小猿
2021/02/03
5160
C#版[击败99.39%的提交] - Leetcode 171. Excel表列序号 - 题解
在线提交: https://leetcode.com/problems/excel-sheet-column-number/
Enjoy233
2019/03/05
4720
力扣刷题笔记--171. Excel 表列序号
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
C_H
2022/11/18
4160
力扣刷题笔记--171. Excel 表列序号
LeetCode 171. Excel表列序号(26进制转10进制)
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/excel-sheet-column-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Michael阿明
2020/07/13
2K0
LeetCode 171. Excel表列序号(26进制转10进制)
171. Excel表列序号
给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 输入: "A" 输出: 1 示例 2: 输入: "AB" 输出: 28 示例 3: 输入: "ZY" 输出: 701 解:26进制转10进制。 class Solution { public int titleToNumber(String s) {
张伦聪zhangluncong
2022/10/26
5770
Excel 表列序号(C++)
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
GeekLiHua
2025/01/21
750
图解精选 TOP 面试题 007 | 杨辉三角
杨辉三角可以说是一道大家非常熟悉的题目了,一开始学 C 语言的时候就经常做打印杨辉三角的作业。
江不知
2020/01/02
4200
算法刷题-Excel表列序号、单词拆分 II、排序链表
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。
共饮一杯无
2023/03/09
6400
算法刷题-Excel表列序号、单词拆分 II、排序链表
力扣刷题笔记--168. Excel表列名称
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
C_H
2022/11/28
1.2K0
力扣题目汇总(反转字符串中的单词,EXCEL表列序号,旋置矩阵)
反转字符串中的单词 III 1.题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" 2.解题思路 把他弄成列表在一个个值用切片进行反转 3.解题 return [ i[::-1] for i in s] Excel表列序号 1.题目描述 给定一个Excel表格中的列名称,返回其相应的列序号。 例如,
小小咸鱼YwY
2019/07/24
5150
LeetCode 171. Excel 表列序号(swift)
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。
freesan44
2021/08/18
7570
【小Y学算法】⚡️每日LeetCode打卡⚡️——46.Excel 表列序号
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。
呆呆敲代码的小Y
2021/10/08
3180
相关推荐
LeetCode171-Excel表列序号(进制转换问题)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验