关于LeetCode中Excel Sheet Column Number一题的理解

原创 2016年08月29日 18:16:40

题目如下:

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进制”数的方法大家应该完全没问题吧,“26进制”同理,只不过把“10”换成了“26”罢了,照例放上已Accepted的代码:

<span style="font-size:14px;">    public int titleToNumber(String s) {
        double result = 0;
        for (int i=0;i<s.length();i++){
            result += Math.pow(26,s.length()-1-i)*(s.charAt(i)-'A'+1);
        }
        return (int)result;
    }</span>
    这题果然是太简单了,怪不得Accepted率这么高。然后是评论区的方法,如下所示:

    public int titleToNumber(String s) {
        int value = 0;
        for(int i = 0; i < s.length(); i++)
            value = value * 26 + ((int)s.charAt(i) - 'A') + 1;
        return value;
    }
    第一次看这个方法的时候还是有点懵逼的,因为我菜嘛,那么用类比的方法举一个10进制的12345这个数的例子来说明一下上面评论区的这种方法。

第一次循环:

value=0*10 + 1 = 1

第二次循环:

value = 1*10 +2 = 12

第三次循环:

value = 12*10 + 3 = 123

第四次循环:

value = 123 *10 + 4 = 1234

第五次循环:

value = 1234 * 10 + 5 = 12345

    还是挺明了的,嗯!



C#如何利用NPOI生成具有精确列宽行高的Excel文件

前言 NPOI是操作Excel的神器,导出导入快如闪电, 但是SetColumnWidth函数个人感觉不会用,怎么弄都无法控制好,因为他是以字符数量去设置宽度,实际上Excel列宽还有个像素的概念,更...
  • lin437922751
  • lin437922751
  • 2013年04月24日 21:11
  • 3758

jdbcTemplate模板的一些方法初学笔记

本篇文章将遇到的一些jdbcTemplate方法,出现问题的地方做记录
  • sgls652709
  • sgls652709
  • 2015年10月22日 03:34
  • 775

使用poi分多级sheet生成excel

利用poi导出excel表,分多级sheet导出。 poi包下载:点击打开链接 demo: package com.it.test; import java.io.File; import java...
  • maxoracle
  • maxoracle
  • 2017年01月18日 16:49
  • 442

leetcode 204题求素数个数

Description: Count the number of prime numbers less than a non-negative number, n   提示晒数法: http://e...
  • wangyaninglm
  • wangyaninglm
  • 2015年04月28日 22:20
  • 2131

POI导出数据到Excel的多个Sheet

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 一、PSGInfoSearchAction.jav...
  • BobChao0730
  • BobChao0730
  • 2016年04月26日 10:10
  • 7426

C#读取和导出EXCEL类库(可操作多个SHEET)

改进的一个EXCEL类,可以读取EXCEL,也可以将内容导出到EXCEL.操作多个SHEET比较方便. 而且无须安装任何EXCEL. 1.读取. public void Read(str...
  • hwm831002
  • hwm831002
  • 2013年09月30日 10:59
  • 6681

java读取Excel指定sheet页或全部sheet页数据(含2003和2007版本)

package Excel; import java.io.File; import java.io.FileInputStream; import java.io.IOException; imp...
  • u010792467
  • u010792467
  • 2014年10月23日 14:27
  • 4099

c#读取Excel的第一个Sheet表

public ArrayList ExcelSheetName(string filepath)           {               ArrayList al = new ArrayL...
  • springflower66
  • springflower66
  • 2016年06月29日 08:28
  • 1113

EXCEL取当前SHEET页是第几个SHEET页

需求: 一个Excel ,每一个 SHEET 页都有一个单元格,用来存放此 SHEET 页是第几个 SHEET 页。 场景: 设计了一个工作薄,有十几个工作表,每一个工作表,都有一个单元格,单元格...
  • ye1142262478
  • ye1142262478
  • 2017年03月01日 17:29
  • 951

leetcode的c++实现(一)

说在前面的话:c++的书看了几遍,但是平时写的机会比较少,所以忘得很快,俗话说读万卷书行万里路,没有实践理论的东西都是浮云。正好leetcode给我们提供了一个温故而知新的平台,我就计划借助这个平台在...
  • l_b_yuan
  • l_b_yuan
  • 2016年04月28日 19:23
  • 1315
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于LeetCode中Excel Sheet Column Number一题的理解
举报原因:
原因补充:

(最多只允许输入30个字)