LeetCode刷题笔记第168题:Excel表列名称

LeetCode刷题笔记第168题:Excel表列名称

题目:

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1

B -> 2

C -> 3

...

Z -> 26

AA -> 27

AB -> 28

...

想法:

类似十进制转二进制,这里是1-26,要使用26进制则需要将1-26改为0-25。具体做法将输入的整数除以26得到的余数为个位数上的数值,再次除以26得到十位数上的数值依次类推,最终获得每个位数上的数值,再将这些数值对应的字符连接即为最终结果字符串

复制代码
class Solution:
    def convertToTitle(self, columnNumber: int) -> str:
        result = []
        while columnNumber>0:
            columnNumber -= 1  # 此处为了将数值改为26进制数
            result.append(chr(columnNumber % 26 + ord("A")))  # 获得当前位置上的字符并添加入字符串列表
            columnNumber //= 26  # 获得除数进行下一轮计算
        return "".join(result[::-1])  # 字符串列表中存储的是倒叙的字符

上述方法的

时间复杂度:O(log26 columnNumber)

空间复杂度:O(1)

相关推荐
Klong.k13 分钟前
判断是不是素数题目
数据结构·算法
QQsuccess14 分钟前
AI全体系保姆级详讲——第一部分:了解AI基本定义
人工智能·算法
_日拱一卒17 分钟前
LeetCode:移动零
算法·leetcode·职场和发展
Yu_Lijing27 分钟前
基于C++的《Head First设计模式》笔记——生成器模式
c++·笔记·设计模式
A923A30 分钟前
【洛谷刷题 | 第四天】
算法·前缀和·贪心·洛谷·差分
次旅行的库38 分钟前
【问渠哪得清如许-数据分析】学习笔记-下
数据库·笔记·sql·学习
bai_lan_ya43 分钟前
使用linux的io文件操作综合实验_处理表格
linux·服务器·算法
计算机安禾1 小时前
【C语言程序设计】第36篇:二进制文件的读写
c语言·开发语言·c++·算法·github·visual studio code·visual studio
ZPC82101 小时前
OLOv11 + 深度相机的方案实现高精度3D定位
人工智能·数码相机·算法·机器人
_日拱一卒1 小时前
LeetCode:字母异位词分组
算法·leetcode·职场和发展