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 分钟前
STC8H系列 驱动步进电机
笔记·单片机
weixin_5275504032 分钟前
初级程序员入门指南
javascript·python·算法
moxiaoran57532 小时前
uni-app学习笔记三十--request网络请求传参
笔记·学习·uni-app
嘉陵妹妹2 小时前
深度优先算法学习
学习·算法·深度优先
GalaxyPokemon3 小时前
LeetCode - 53. 最大子数组和
算法·leetcode·职场和发展
hn小菜鸡3 小时前
LeetCode 1356.根据数字二进制下1的数目排序
数据结构·算法·leetcode
zhuiQiuMX3 小时前
分享今天做的力扣SQL题
sql·算法·leetcode
music&movie5 小时前
算法工程师认知水平要求总结
人工智能·算法
明月醉窗台5 小时前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
laocui15 小时前
Σ∆ 数字滤波
人工智能·算法