美文网首页
Excel表列序号

Excel表列序号

作者: 422ccfa02512 | 来源:发表于2020-12-03 19:26 被阅读0次

    题目

    难度级别:简单

    给定一个Excel表格中的列名称,返回其相应的列序号。

    例如,

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

    示例 1:

    输入: "A"
    输出: 1

    示例 2:

    输入: "AB"
    输出: 28

    示例 3:

    输入: "ZY"
    输出: 701

    解题思路

    法一

    通过进制转换可得

    const titleToNumber = function(s) {
        let str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        let res = 0
    
        for(let i = 0; i < s.length; i++)
            for(let j = 0; j < str.length; j++)
                if(s[i] === str[j])
                    res +=  (j + 1) * 26**(s.length - 1 - i)
                    
        return res;
    };
    

    charCodeAt

    将字符转化为ASCII码,A-Z是连续的,且A为65,所以转换以后减一个65 + 1,值就在1-26里了。

    const titleToNumber = function(s) {
        let res = 0
    
        for(let i = 0; i < s.length; i++)
            res +=  (s[i].charCodeAt()-65 +1) * 26**(s.length-1-i)
    
        return res;
    };
    

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

    相关文章

      网友评论

          本文标题:Excel表列序号

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