zoukankan      html  css  js  c++  java
  • 【LeetCode】Excel Sheet Column Title

    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





    Solution:
    经过分析不难发现实际上就是数对于 26 进制的转换用字母表示出来。
    代码如下:
     1 class Solution:
     2     # @param {integer} n
     3     # @return {string}
     4     def convertToTitle(self, n):
     5         ans = ""
     6         while (n>0):
     7             temp = (n + 25) % 26 + 1
     8             ans = chr(temp + ord("A") - 1) + ans
     9             n = (n-1)/26
    10         return ans

    不过,还是需要注意的是,这个进制转换有效的是 1..26 而不是一般的 0..25。

    所以在求当前位上的数字时,采取把 n 加上25后对26取余再加 1,这样就把所有的映射从 0..25 换到了 1..26。

    同时,用 (n-1)/26,这样即便当前 n 是 26 的倍数,也不至于会 “进位” 。

  • 相关阅读:
    架构设计-业务逻辑层简述
    大牛的法宝
    架构设计中服务层的简单理解
    架构师都要懂哪些知识
    python 面向对象
    Ubuntu学习
    装饰器
    Py之基础数据类型
    Py之模块
    浏览器环境变量
  • 原文地址:https://www.cnblogs.com/maples7/p/4483465.html
Copyright © 2011-2022 走看看