Leetcode-168.Excel表列名称

题目描述

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

例如:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入:columnNumber = 1
输出:"A"

示例 2:

输入:columnNumber = 28
输出:"AB"

示例 3:

输入:columnNumber = 701
输出:"ZY"

示例 4:

输入:columnNumber = 2147483647
输出:"FXSHRXW"

思路

A= 26^{^0} * 1 

AB= 26^1 *1+26^0*2

ZY = 26^1*26+26^0*25
这道题其实类似26进制转换,但不同的是这里的每一位的取值是1~26而非0~25。即A~Z代表了数字1~26。

colnumNumber = a_{0} * 26^0+a_{1} * 26^1+...+a_{i} * 26^i+...+a_{n} * 26^n

colnumNumber = \sum_{i = 0}^{n}a_{i}*26^i, 1\leqslant a_i\leqslant 26

colnumNumber = a_0+\sum_{i =1}^{n}a_{i}*26^i

colnumNumber-1 = (a_0-1)+\sum_{i = 1}^{n}a_{i}*26^i

此处a_0-1就是对应最低位字母,且0\leqslant a0-1\leqslant 25,故可以通过模26求得最低位。再通过除26求得除了最低为后的新colnumNumber

实现

class Solution {
    public String convertToTitle(int columnNumber) {
        StringBuffer s = new StringBuffer();
        while(columnNumber > 0){
            columnNumber--;
            int a0 = columnNumber % 26;
            s.append((char)('A' + a0));
            columnNumber /= 26;
        }
        String res = s.reverse().toString();
        return res;
    }
}

相关推荐

  1. leetcode168Excel名称

    2024-04-23 20:24:02       31 阅读
  2. LeetCode刷题笔记第168题:Excel名称

    2024-04-23 20:24:02       41 阅读
  3. 【力扣】168. Excel名称、171. Excel 序号

    2024-04-23 20:24:02       42 阅读
  4. leetcode-Excel 序号

    2024-04-23 20:24:02       66 阅读
  5. Microsoft VBA Excel 提取相同名称的整数据

    2024-04-23 20:24:02       45 阅读
  6. python-pandas获取excel中每个sheet的名称

    2024-04-23 20:24:02       35 阅读
  7. LeetCode168. Excel Sheet Column Title

    2024-04-23 20:24:02       45 阅读

最近更新

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

    2024-04-23 20:24:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 20:24:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 20:24:02       82 阅读
  4. Python语言-面向对象

    2024-04-23 20:24:02       91 阅读

热门阅读

  1. 手误修改了spfile导致实例重启失败

    2024-04-23 20:24:02       31 阅读
  2. Php 通过 FFmpeg 获取远程视频的时长和截图

    2024-04-23 20:24:02       34 阅读
  3. 数字人技术:相关论文汇总

    2024-04-23 20:24:02       34 阅读
  4. Redis雪崩

    2024-04-23 20:24:02       38 阅读
  5. python多线程详解

    2024-04-23 20:24:02       30 阅读
  6. Ubuntu搭建RP2040开发环境-1

    2024-04-23 20:24:02       38 阅读