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)

相关推荐
袁小皮皮不皮21 分钟前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
手写码匠40 分钟前
手写 GraphRAG:从零实现图增强检索增强生成系统
人工智能·深度学习·算法·aigc
BomanGe11 小时前
NSK重载高刚性滚珠丝杠技术详解
经验分享·算法·规格说明书
Matrix_112 小时前
手机里的计算摄影:广角形变校正算法
人工智能·算法·智能手机·计算摄影
WBluuue2 小时前
数据结构与算法:有序表(二):跳表
数据结构·c++·算法·skiplist
x138702859573 小时前
c语言中srtlen(指针使用计算字符长度)、传值和传址调用
c语言·开发语言·算法·visual studio
海兰3 小时前
【实用程序】电商销售分析仪表盘 — 从零搭建一个AI参与的全栈数据洞察系统
人工智能·学习·算法
zwenqiyu4 小时前
P5283 [十二省联考 2019] 异或粽子题解
c++·学习·算法
wayz114 小时前
Momentum:TSI(真实强度指数)技术指标详解
算法·金融·数据分析·量化交易·特征工程
万事大吉CC4 小时前
Python 笔试输入模板总结
python·算法