zoukankan      html  css  js  c++  java
  • 171. Excel Sheet Column Number Excel表格的字母转成数字

    [抄题]:

    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 
        ...
    

    Example 1:

    Input: "A"
    Output: 1
    

    Example 2:

    Input: "AB"
    Output: 28
    

    Example 3:

    Input: "ZY"
    Output: 701

     [暴力解法]:

    时间分析:

    空间分析:

     [优化后]:

    时间分析:

    空间分析:

    [奇葩输出条件]:

    [奇葩corner case]:

    [思维问题]:

    以为要讨论位数:一位、两位

    [一句话思路]:

    直接用指针i 表示位数就行了

    [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

    [画图]:

    [一刷]:

    [二刷]:

    [三刷]:

    [四刷]:

    [五刷]:

      [五分钟肉眼debug的结果]:

    [总结]:

    一个res数组可以反复用,提前加上就行了:res = res * 26 + (s.charAt(i) - 'A' + 1);

    [复杂度]:Time complexity: O(1) Space complexity: O(1)

    [英文数据结构或算法,为什么不用别的数据结构或算法]:

    s.charAt(i) - 'A'  一脚踢开,可以把字母转成数字

    [关键模板化代码]:

    [其他解法]:

    [Follow Up]:

    [LC给出的题目变变变]:

     [代码风格] :

    class Solution {
        public int titleToNumber(String s) {
            int res = 0;
            for (int i = 0; i < s.length(); i++) {
                res = res * 26 + (s.charAt(i) - 'A' + 1);
            }
            return res;
        }
    }
    View Code
  • 相关阅读:
    OpenGL中 Canvas 性能分析
    美颜重磅技术之GPUImage源码分析
    为什么我推荐你用Ubuntu开发?
    使用TensorFlow进行训练识别视频图像中物体
    常用 Git 操作
    JavaScript 禁止表单提交
    AngularJS 解决 SEO 问题
    Linux 命令
    重装Ubuntu系统并配置开发环境
    php开发入门教程
  • 原文地址:https://www.cnblogs.com/immiao0319/p/8976762.html
Copyright © 2011-2022 走看看