前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel表列序号

Excel表列序号

原创
作者头像
_kyle
修改2020-12-04 10:51:58
9780
修改2020-12-04 10:51:58
举报
文章被收录于专栏:kyle的专栏kyle的专栏

题目

难度级别:简单

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

例如,

代码语言:javascript
复制
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入: "A" 输出: 1

示例 2:

输入: "AB" 输出: 28

示例 3:

输入: "ZY" 输出: 701

解题思路

法一

通过进制转换可得

代码语言:javascript
复制
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里了。

代码语言:javascript
复制
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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
    • 示例 1:
      • 示例 2:
        • 示例 3:
        • 解题思路
        • 法一
        • charCodeAt
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档