• 【LeetCode每天一题】Excel Sheet Column Title(Excel的表格数)


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

    For example:

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

    Example 1:

    Input: 1
    Output: "A"
    

    Example 2:

    Input: 28
    Output: "AB"
    

    Example 3:

    Input: 701
    Output: "ZY"

    思路

      这道题其实就是变相的将数字字符串转化成数字,数字是10进制,而这个题目中是26进制,我们根据数字判断是什么字母。例如:

        A   1     AA    26+ 1     BA  2×26+ 1     ...     ZA  26×26+ 1     AAA  1×26²+1×26+ 1

        B   2     AB    26+ 2     BB  2×26+ 2     ...     ZB  26×26+ 2     AAB  1×26²+1×26+ 2

        .    .      ..       .....       ..     .......       ...      ..     ........          ...         .............  

        .    .      ..       .....       ..     .......       ...      ..     ........          ...         .............

        .   .       ..       .....       ..     .......       ...      ..     ........          ...          .............

        Z   26     AZ    26+26     BZ  2×26+26     ...     ZZ  26×26+26     AAZ  1×26²+1×26+26
        ABCD=A×26³+B×26²+C×26¹+D=1×26³+2×26²+3×26¹+4

    解决代码

    
    
     1 class Solution(object):
     2     def convertToTitle(self, n):
     3         """
     4         :type n: int
     5         :rtype: str
     6         """
     7         tem_dict = {1:'A', 2:'B', 3:'C', 4:'D', 5:'E', 6:'F',7:'G',8:'H', 9:'I',10:'J', 11:'K',12:'L',
     8                    13:'M',14:'N',15:'O',16:'P',17:'Q',18:'R',19:'S',20:'T',21:'U',22:'V',23:'W',24:'X',
     9                     25:'Y',26:'Z'
    10                    }           # 预定义辅助字典
    11         res = []          # 辅助列表
    12         while n > 0:      # 循环条件
    13             res.append(tem_dict[((n-1)%26)+1])      # 每次使用n对26取余得到最后一位的数字,再在字典查找相应的字母。
    14             n =(n-1)// 26                    # 除以26 
    15         res.reverse()
    16         
    17         return ''.join(res)
  • 相关阅读:
    javaWeb接口开发
    .NET设计模式(4):建造者模式(Builder Pattern)(转载)
    .net数据库连接池(转载)
    系统操作日志设计(转载)
    系统操作日志设计-代码实现(转载)
    GOF对Builder模式的定义(转载)
    Javascript中的对象和原型(一)(转载)
    Javascript中的对象和原型(二)(转载)
    Javascript中的对象和原型(三)(转载)
    服务器安全设置(转载)
  • 原文地址:https://www.cnblogs.com/GoodRnne/p/11004050.html
Copyright © 2020-2023  润新知