美文网首页
Excel表列名称

Excel表列名称

作者: 422ccfa02512 | 来源:发表于2020-12-01 23:37 被阅读0次

    题目

    难度级别:简单

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

    例如,

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

    示例 1:

    输入: 1
    输出: "A"

    示例 2:

    输入: 28
    输出: "AB"

    示例 3:

    输入: 701
    输出: "ZY"

    解题思路

    这道题类似于10进制转化2进制,通过辗转相除求出各个位置上的数字。但这里有个坑,2进制时它是满2进1,是0 - 2。A - Z是26个数,这里A为1,即1 - 26(实际上是27进制,但是又没有0位)。我们需要把他各个位置上的数看成0 - 25,即26进制。这样的话,在每次取模的时候,我们需要把当前的数进行减一处理。

    示例:

    以78为例

    78 = 3 * 26^1 + 0*26^0
    这里的3对应的是D,0对应的是A,即: DA

    const convertToTitle = function(n) {
        let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        let res = ''
    
        while(n > 0) {
            res = str[--n % 26] + res
            n = parseInt(n / 26)
        }
    
        return res
    }; 
    

    题目来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/excel-sheet-column-title

    相关文章

      网友评论

          本文标题:Excel表列名称

          本文链接:https://www.haomeiwen.com/subject/ibvewktx.html