美文网首页
LeetCode#171Excel Sheet Column N

LeetCode#171Excel Sheet Column N

作者: 如烟花非花 | 来源:发表于2016-11-03 17:08 被阅读10次

    问题描述

    Related to question Excel Sheet Column Title

    Given a column title as appear in an Excel sheet, return its corresponding column number.

    For example:

    A -> 1

    B -> 2

    C -> 3

    ...

    Z -> 26

    AA -> 27

    AB -> 28

    补充说明:

    这个题目的意思是在Excel应用程序中,行的标题往往是A、B、C ... AA、AB、...这样子的字母形式,现在要求把他们转换成1、 2、 3 ... 26、 27 ...这样的数字形式。

    方案分析

    1. 单字母的解决方案,这个问题很常规,就是如何将字母转为对应的数字。
    2. 当字母是多位,如AA这样的,末尾数字还表示原本对应数据,前面一个数字代表相当于进位,只不过这里是26位进制。

      例如:AA = 26 × 1 + 1 = 27

      再如:BAC = 2 × 26 × 26 + 1 × 26 + 3

      又如:BBAA = 2 × 26 × 26 × 26 + 2 × 26 × 26 + 1 × 26 + 1

    python实现

    class Solution(object):
        def titleToNumber(self, s):
            """
            :type s: str
            :rtype: int
            """
            sum = 0
            for index, item in enumerate(s[::-1]):
                sum  += ((ord(item) - ord('A') + 1) * pow(26, index))
            return sum
    

    相关文章

      网友评论

          本文标题:LeetCode#171Excel Sheet Column N

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