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. LeetCode笔记168Excel名称

    2024-05-03 13:18:11       42 阅读
  2. leetcode168Excel名称

    2024-05-03 13:18:11       31 阅读
  3. 【力扣】168. Excel名称、171. Excel 序号

    2024-05-03 13:18:11       42 阅读
  4. LeetCode笔记之链

    2024-05-03 13:18:11       46 阅读
  5. leetcode笔记

    2024-05-03 13:18:11       44 阅读
  6. LeetCode笔记71:简化路径

    2024-05-03 13:18:11       48 阅读
  7. LeetCode笔记190:颠倒二进制位

    2024-05-03 13:18:11       28 阅读
  8. LeetCode笔记217:存在重复元素

    2024-05-03 13:18:11       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-03 13:18:11       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-03 13:18:11       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-03 13:18:11       82 阅读
  4. Python语言-面向对象

    2024-05-03 13:18:11       91 阅读

热门阅读

  1. LinkedList常考面试题

    2024-05-03 13:18:11       35 阅读
  2. 【手撕Promise.all】

    2024-05-03 13:18:11       31 阅读
  3. 重学数论2:欧几里得算法与斐波那契数列

    2024-05-03 13:18:11       42 阅读
  4. 2024/5/3学习笔记:派生类的默认成员函数

    2024-05-03 13:18:11       40 阅读
  5. python脚本编写

    2024-05-03 13:18:11       33 阅读