题目

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
...
AAA -> 703
AAB -> 704

Credits:

Special thanks to @ts for adding this problem and creating all test cases.

分析

用过Execl的都知道,上述字母是其列名称,数字代表第几列,本题是求给定一个A~Z组成的字符串序列,求出其在Execl表中的列数。

由以上给出的示例可以看出规律,其中A~Z代表数字1~26,那么字符串怎么求呢?

比如(由低到高逐位计算):

A=1∗260=1

A=2∗260=2

...

AA=1∗260+1∗261=27

AB=2∗260+1∗261=28

...

AAA=1∗260+1∗261+1∗262=703

AAB=2∗260+1∗261+1∗262=704

AC代码

class Solution {
public:
int titleToNumber(string s) {
int len = strlen(s.c_str());
if (len == 0)
return 0; int count = 0 , p = 0;
for (int i = len-1; i >= 0; i--)
{
count = count + Num(s[i]) * pow(26, p);
p++;
}
return count;
} int Num(char c)
{
switch (c)
{
case 'A':
return 1; break;
case 'B':
return 2; break;
case 'C':
return 3; break;
case 'D':
return 4; break;
case 'E':
return 5; break;
case 'F':
return 6; break;
case 'G':
return 7; break;
case 'H':
return 8; break;
case 'I':
return 9; break;
case 'J':
return 10; break;
case 'K':
return 11; break;
case 'L':
return 12; break;
case 'M':
return 13; break;
case 'N':
return 14; break;
case 'O':
return 15; break;
case 'P':
return 16; break;
case 'Q':
return 17; break;
case 'R':
return 18; break;
case 'S':
return 19; break;
case 'T':
return 20; break;
case 'U':
return 21; break;
case 'V':
return 22; break;
case 'W':
return 23; break;
case 'X':
return 24; break;
case 'Y':
return 25; break;
case 'Z':
return 26; break;
default:
return 0; break;
}
}
};

GitHub测试程序源码

LeetCode(171) Excel Sheet Column Number的更多相关文章

  1. LeetCode(168) Excel Sheet Column Title

    题目 Given a positive integer, return its corresponding column title as appear in an Excel sheet. For ...

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

  3. 171. Excel Sheet Column Number(C++)

    171. Excel Sheet Column Number Related to question Excel Sheet Column Title Given a column title as ...

  4. LeetCode Javascript实现 100. Same Tree 171. Excel Sheet Column Number

    100. Same Tree /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; ...

  5. LeetCode 171. Excel表列序号(Excel Sheet Column Number) 22

    171. Excel表列序号 171. Excel Sheet Column Number 题目描述 给定一个 Excel 表格中的列名称,返回其相应的列序号. 每日一算法2019/5/25Day 2 ...

  6. leetcode 168. Excel Sheet Column Title 171 Excel Sheet Column Number

    题目 //像10进制一样进行 转换   只是要从0开始记录 class Solution { public: string convertToTitle(int n) { char a; string ...

  7. LeetCode Excel Sheet Column Number 表列数

    题意:天啊!我竟然看不懂题意,还去翻别人的代码才懂!给定一个字符串,求该字符串二十六进制的总值. 思路:'A'~'Z'就是1到26,"AA"=26+1=27,"BA&qu ...

  8. 【LeetCode】168 & 171- Excel Sheet Column Title & Excel Sheet Column Number

    168 - Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...

  9. 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number

    题目描述: Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...

随机推荐

  1. js锚点

    锚点,在地址栏http://localhost:8000/Demo1/js锚点.html#a   跳转到指定位置可以是 <a>标签的name 也可以是标签的id. 曾经看到有锚点的页面,但 ...

  2. 转-sql之left join、right join、inner join的区别

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...

  3. JavaScript入门2

    5.document对象:Document对象是window对象的一个对象属性,代表浏览器窗口中装载的整个HTML文档.文档中的每个HTML元素对应着JavaScript对象. 因为document代 ...

  4. [转]2010 Ruby on Rails 書單 與 練習作業

    原帖:http://wp.xdite.net/?p=1754 ========= 學習 Ruby on Rails 最快的途徑無非是直接使用 Rails 撰寫產品.而這個過程中若有 mentor 指導 ...

  5. AJPFX关于hashmap和hashtable 的区别

    Hashtable和HashMap类有三个重要的不同之处.第一个不同主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现. ...

  6. 【学习笔记】深入理解js原型和闭包(16)——完结

    之前一共用15篇文章,把javascript的原型和闭包讲解了一下. 首先,javascript本来就“不容易学”.不是说它有多难,而是学习它的人,往往都是在学会了其他语言之后,又学javascrip ...

  7. XML验证

    合法的XML和形式良好的XML ? 拥有正确语法的 XML 被称为"形式良好"的 XML. 第一行是 XML 声明.它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8 ...

  8. elasticsearch 2.4在head删除数据(使用Delete By Query插件)

    之所以说明是2.4版,是因为不同版本删除的语法不一样(例如跟5.x就不同) 首先安装Delete By Query插件,方式跟安装head插件差不多,安装命令:plugin install delet ...

  9. 开发原生安卓cordova插件(有原生界面)

    上文开发的插件没有调用原生界面,本文介绍开发带有activity的插件 本文很多操作与上文重复,重复部分会省略 首先打开plug1,先开发插件的原生代码 在以下命名空间创建一个activity 名称为 ...

  10. LINUX 安装tsung 对OPENFIRE 进行压力测试

    参考资料:  http://www.centoscn.com/image-text/install/2014/0818/3503.html  http://my.oschina.net/jieluck ...