• leetcode-Excel Sheet Column Title


    题目:

      把数字转化为excel形式的字符表示。示例:1->A 2->B 3->C ... 26->Z 27->AA...

    解题思路:

      乍一看有点像进制转换题目,不过细想想发现它没有‘0’。所以这时候需要我们仔细观察:很明显,这是26进制的表示方法,但是没有0的表示方法。所以我们来归纳一下,十进制10在这里面怎么表示,是Z,20呢?B*,30是C*,以此类推:

    10 - Z
    
    20 - B*
    
    30 - C*
    
    ...
    
    260 - YZ
    

      也就是说当n>0且n%26 == 0时,我们输出Z,并且向上一位借1(这里有点像除法的借位),换而言之,当n%26==0时,我们输出Z之后,在后续的计算中n应该等于 (n-1)/26。所以代码如下

    class Solution(object):
        def convertToTitle(self, n):
            """
            :type n: int
            :rtype: str
            """
            ret = ''
            alpha = 'ZABCDEFGHIJKLMNOPQRSTUVWXY'
            while n > 0:
                ret = alpha[n%26] + ret
                n = (n-1) / 26
            return ret
    
  • 相关阅读:
    Vue组件之间传值
    Vue 调试工具
    组件注册
    组件化思想
    图书列表案例
    数组相关API
    Vue常用特性
    选项卡案例
    Vue模板语法
    案例选项卡
  • 原文地址:https://www.cnblogs.com/Blaxon/p/4868676.html
Copyright © 2020-2023  润新知