zoukankan      html  css  js  c++  java
  • Leetcode Excel Sheet Column Number (C++) && Excel Sheet Column Title ( Python)

    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 

     1 class Solution {
     2 public:
     3     int titleToNumber(string s) {
     4         int number = 0;
     5         int tmp = 0;
     6         for (int i = 0; i < s.length();i++){
     7             tmp = s[i] - 'A' + 1;
     8             number = number * 26 + tmp;
     9         }
    10         return number;
    11         
    12     }
    13 };

    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 

    主要思路:10进制转成26进制。但需要注意先减1,因为如52 = 2*(26^1),若不减1,则为B*,而不是正确结果AZ。所以为了避免这种整除的情况,事先减一。

    class Solution: # @return a string def convertToTitle(self, num): res = '' while num > 0: tmp = num num = (tmp-1)/26 res += chr(65+(tmp-1)%26) return res[::-1]

    chr(i):返回整数i对应的ASCII字符。与ord()作用相反。

    参数x:取值范围[0, 255]之间的正数。

    版本:该函数在python2和python3各个版本中都可用。不存在兼容性问题。

    'A'对应的数字为65

  • 相关阅读:
    C#委托 delegate
    认识反射
    【译】修改大XML文件的有效方法
    学习javascript并解读JQuery
    ASP.Net用户验证的实现
    渴望
    C++中常见的一些小问题总结(一)
    struts2:关于EL能够获得action的属性
    排序算法总结
    WebService开发实例
  • 原文地址:https://www.cnblogs.com/fyymonica/p/4226358.html
Copyright © 2011-2022 走看看