Leetcode_171_Excel Sheet Column Number
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42290079
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
思路:
(1)题意为给出Excel中对应列的字符求出该字符对应的整数。
(2)这道简单题考查的是“二十六进制”的问题(非真正二十六进制)。不难发现,每当超过26时,和十进制类似会发生变化,这里不对其解释。
(3)考虑到简单快捷,直接将26个字符对应的整数值存入一个Map中。需要说明的是算法中用到了Math类的power()方法,该方法是幂次方函数。
例如对于字符“ABC”来说,求解过程为:
count = 0 + 1 * Math.power(26, 2) = 676;
count = 676 + 2 * Math.power(26, 1) = 728;
count = 728 + 3 * Math.power(26, 0) = 731;
(4)希望本文对你有所帮助。
算法代码实现如下:
public static int titleToNumber(String s) {
Map<String, Integer> all = new HashMap<String, Integer>();
all.put("A", 1);
all.put("B", 2);
all.put("C", 3);
all.put("D", 4);
all.put("E", 5);
all.put("F", 6);
all.put("G", 7);
all.put("H", 8);
all.put("I", 9);
all.put("J", 10);
all.put("K", 11);
all.put("L", 12);
all.put("M", 13);
all.put("N", 14);
all.put("O", 15);
all.put("P", 16);
all.put("Q", 17);
all.put("R", 18);
all.put("S", 19);
all.put("T", 20);
all.put("U", 21);
all.put("V", 22);
all.put("W", 23);
all.put("X", 24);
all.put("Y", 25);
all.put("Z", 26);
if (s == null)
return -1;
int len = s.length();
int sum = 0;
int power = len - 1;
for (int i = 0; i < len; i++) {
int curr = all.get(String.valueOf(s.charAt(i)));
sum += curr * Math.pow(all.size(), power);
power--;
}
return sum;
}
Leetcode_171_Excel Sheet Column Number的更多相关文章
- 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number
题目描述: Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...
- Excel Sheet Column Title & Excel Sheet Column Number
Excel Sheet Column Title Given a positive integer, return its corresponding column title as appear i ...
- 【leetcode】Excel Sheet Column Number
Excel Sheet Column Number Related to question Excel Sheet Column Title Given a column title as appea ...
- 【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 ...
- 171. Excel Sheet Column Number(C++)
171. Excel Sheet Column Number Related to question Excel Sheet Column Title Given a column title as ...
- 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; ...
- 2016.5.18——Excel Sheet Column Number
Excel Sheet Column Number 本题收获: 1.对于字符串中字母转为ASIIC码:string s ;res = s[i]-'A'; 这个res就是数字s[i]-'A'是对ASII ...
- leetcode 168. Excel Sheet Column Title 171 Excel Sheet Column Number
题目 //像10进制一样进行 转换 只是要从0开始记录 class Solution { public: string convertToTitle(int n) { char a; string ...
- Excel Sheet Column Title&&Excel Sheet Column Number
Excel Sheet Column Title Given a positive integer, return its corresponding column title as appear i ...
随机推荐
- Go 语言教程
Go 语言教程 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发, ...
- Django URL (路由系统)
URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那 ...
- UE4使用UMG接口操作界面
原文链接:http://gad.qq.com/article/detail/7181131 本文首发腾讯GAD开发者平台,未经允许,不得转载 UE4的蓝图之强大让人欲罢不能,但是实际在项目的开发中,C ...
- 初识Spark2.0之Spark SQL
内存计算平台spark在今年6月份的时候正式发布了spark2.0,相比上一版本的spark1.6版本,在内存优化,数据组织,流计算等方面都做出了较大的改变,同时更加注重基于DataFrame数据组织 ...
- WEB音频API
本文转载至 http://www.webhek.com/web-audio-api 很偶然的,在一个微信公众号里面,看到了这样的一篇文章. WEB音频API.作者分享技术的优良品质值得我们学习. 原文 ...
- C++ 虚函数表 多重继承
上次研究的是单继承的情况,这次研究多重继承下的虚函数表的排列情况. 这次A,A1,A2,B这几个类的继承关系如下图: 测试代码如下: #include<iostream> using na ...
- CSDN发表文章后老是待审核的原因
最近开始在csdn上写文章,发现老是文章被 待审核 ,于是便在网上搜集了下网友们的反馈,最后做出以下的整理. 1.CSDN检测到文章中的链接大于5,就会将文章列为"待审核",这个其 ...
- 携程React Native实践
React Native(下文简称 RN)开源已经一年多时间,国内各大互联网公司都在使用,携程也在今年 5 月份投入资源开始引入,并推广给多个业务团队使用,本文将会分享我们遇到的一些问题以及我们的优化 ...
- Android源码分析—深入认识AsyncTask内部机制
本文转载http://blog.csdn.net/singwhatiwanna/article/details/17596225该博主博文,谢谢该博主提供的好文章! 前言 什么是AsyncTask,相 ...
- 【移动开发】一张图搞定Activity和Fragment的生命周期