如何解决给定Excel表格中的列名称并返回其相应列序号的问题

如何解决给定Excel表格中的列名称并返回其相应列序号的问题

这篇文章给大家分享的是有关如何解决给定Excel表格中的列名称并返回其相应列序号的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。


题目描述

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

例如,

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

示例 1:

输入:"A"输出:1

示例 2:

输入:"AB"输出:28

示例 3:

输入:"ZY"输出:701

解题方案

思路

  • 标签:字符串遍历,进制转换

  • 初始化结果ans = 0,遍历时将每个字母与A做减法,因为A表示1,所以减法后需要每个数加1,计算其代表的数值num = 字母 - ‘A’ + 1

  • 因为有26个字母,所以相当于26进制,每26个数则向前进一位

  • 所以每遍历一位则ans = ans * 26 + num

  • 以ZY为例,Z的值为26,Y的值为25,则结果为26 * 26 + 25=701

  • 时间复杂度:O(n)

代码

classSolution{publicinttitleToNumber(Strings){intans=0;for(inti=0;i<s.length();i++){intnum=s.charAt(i)-'A'+1;ans=ans*26+num;}returnans;}}

画解

感谢各位的阅读!关于“如何解决给定Excel表格中的列名称并返回其相应列序号的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2022-01-05 23:16:16
收藏
分享
海报
0 条评论
182
上一篇:家族信托七大功能(家族信托的主要功能) 下一篇:Java中spring的面试题有哪些
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码