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

Excel表列名称

原创
作者头像
_kyle
修改2020-12-02 10:09:11
1.3K0
修改2020-12-02 10:09:11
举报
文章被收录于专栏:kyle的专栏kyle的专栏

题目

难度级别:简单

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

例如,

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

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

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

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

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

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

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