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)

相关推荐
1白天的黑夜11 分钟前
贪心算法-860.柠檬水找零-力扣(LeetCode)
c++·算法·leetcode·贪心算法
搏博9 分钟前
专家系统的基本概念解析——基于《人工智能原理与方法》的深度拓展
人工智能·python·深度学习·算法·机器学习·概率论
yzx9910139 分钟前
决策树随机深林
人工智能·python·算法·决策树·机器学习
triticale13 分钟前
《人件》第三章 正确的人
笔记
阳光宅男@李光熠26 分钟前
【质量管理】TRIZ(萃智)的工程系统进化法则
笔记·学习
什么问题36 分钟前
Comfy UI 笔记
笔记·comfy ui
Y1nhl41 分钟前
力扣hot100_子串_python版本
开发语言·python·算法·leetcode·职场和发展
uhakadotcom1 小时前
过来人给1-3 年技术新人的几点小小的建议,帮助你提升职场竞争力
算法·面试·架构
WarPigs1 小时前
Unity任务系统笔记
笔记·unity·游戏引擎
wuqingshun3141591 小时前
蓝桥杯 16. 密文搜索
c++·算法·职场和发展·蓝桥杯·深度优先