关于LeetCode中Excel Sheet Column Number一题的理解
来源:互联网 发布:linux apache ssl下载 编辑:程序博客网 时间:2024/05/16 08:27
题目如下:
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
还是挺明了的,嗯!
1 0
- 关于LeetCode中Excel Sheet Column Number一题的理解
- 关于LeetCode中Excel Sheet Column Title一题的理解
- leetcode 每日一题 171. Excel Sheet Column Number
- [leetcode]Excel Sheet Column Number
- leetcode:Excel Sheet Column Number
- LeetCode:Excel Sheet Column Number
- leetcode: Excel Sheet Column Number
- [LeetCode] Excel Sheet Column Number
- 【Leetcode】Excel Sheet Column Number
- 【Leetcode】Excel Sheet Column Number
- [Leetcode]Excel Sheet Column Number
- Leetcode: Excel Sheet Column Number
- [LeetCode]Excel Sheet Column Number
- LeetCode:《Excel Sheet Column Number 》
- LeetCode--Excel Sheet Column Number
- Leetcode: Excel Sheet Column Number
- 【LeetCode】Excel Sheet Column Number
- [leetcode] Excel Sheet Column Number
- myeclipse10 maven junit报ClassNotFoundException
- 计算两个坐标之间的距离
- Ubuntu 14.04 安装 Nginx PHP5 MySQL
- Smali语法 log打印 与 Toast
- 获取硬盘名字
- 关于LeetCode中Excel Sheet Column Number一题的理解
- 第八章AJAX(1)
- ARCGIS Engine空间参照系处理
- 深入解析 ext2 文件系统
- String类和Date类之间的相互转化
- 使用express4.x重写node.js开发指南中的博客系统
- 最大似然概率和后验概率的区别
- KryoCocoa
- PostgreSQL总结(2)特殊数据类型查询 - array