zoukankan      html  css  js  c++  java
  • Excel Sheet Column Number

    Excel Sheet Column Number

    问题:

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

    思路:

      进制转换方法

    我的代码:

    public class Solution {
        public int titleToNumber(String s) {
            if(s == null || s.length() == 0)    return 0;
            int len = s.length();
            int count = 0;
            int ret = 0;
            for(int i = len - 1; i >=0 ; i--,count++)
            {
                int num = s.charAt(i) - 'A' + 1;
                ret += num * (int)Math.pow(26,count);
            }
            return ret;
        }
    }
    View Code

    他人代码:

     public class Solution {
        public int titleToNumber(String s) {
            int colNumber = 0;
    
            for (int i = 0; i < s.length(); i++) {
                colNumber = colNumber*26 + ((int)s.charAt(i)-64);
            }
    
            return colNumber;
        }
    }
    View Code

    学习之处:

      我的想法是从后向前的做法,比较容易想的算法,但是每一次得进行进制的计算。

      别人的想法是通过移位的方法,每一次移位的大小是26 这样便可以从前到后进行计算了,程序也变的简洁了许多。

    if(null==s || s.trim().length()==0) return 0;
    int number = 0;

    for(char c : s.toLowerCase().toCharArray()){
    number = number*24 + (c-'a') + 1;
    }

    return number;

  • 相关阅读:
    【后端】Python学习笔记
    【学习】JennyHui学英语
    【学习】JennyHui学英语
    【英语】Bingo口语笔记(3)
    LoadRunner目录分析
    性能测试常见用语
    [转]黑盒测试用例设计方法
    RUP
    软件质量管理杂谈
    关于BUG
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4313287.html
Copyright © 2011-2022 走看看