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

    Related to question Excel Sheet Column Title
    
    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 

    就是把26进制转换为10进制

     1 public class Solution {
     2     public int titleToNumber(String s) {
     3         int res = 0;
     4         for (int i=0; i<s.length(); i++) {
     5             char c = s.charAt(i);
     6             res += (int)(c - 'A' + 1) * Math.pow(26, s.length()-i-1);
     7         }
     8         return res;
     9     }
    10 }

     从least significant bit开始

    26进制

    复杂度

    时间 O(N) 空间 O(1)

    思路

    得到数字,其实就是把26进制的数转换为10进制的数。算法就是基本的进制转换方法,从后往前第n位的值乘上26^(n-1)。这里26进制数是1开始的,即A是1。

     1 public class Solution {
     2     public int titleToNumber(String s) {
     3         int res = 0;
     4         int len = s.length();
     5         int k = 1;
     6         for (int i=len-1; i>=0; i--) {
     7             char c = s.charAt(i);
     8             res += (int)(c-'A'+1)*k;
     9             k *= 26;
    10         }
    11         return res;
    12     }
    13 }
  • 相关阅读:
    GridView
    BaseAdapter
    ArrayAdapter,SimpleAdapter
    消息机制,Handler
    进度条对话框
    随机二选一
    (二十五)WebDriver API之上传文件
    (二十四)WebDriver API之警告框处理
    linux常用命令大全
    (二十三)WebDriver API之多窗口切换
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/4208018.html
Copyright © 2011-2022 走看看