【LeetCode从零单刷】Excel Sheet Column Number
来源:互联网 发布:怎么做网络推广赚钱 编辑:程序博客网 时间:2024/04/30 23:35
题目:
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进制数一样。乍看之下挺简单。于是写下:
class Solution {public: int titleToNumber(string s) { int len = s.size(); if(len <= 0) return 0; int base = 0; for(int i = 0; i< len; i++) { base += (s[i] - 'A' + 1) * pow(26, len - i - 1); } return base; }};然后WA。。。慢慢查错。我竟然发现:
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a = 1;printf("%d\n", (int)pow(26, a));printf("%f\n", pow(26, a));return 0;}输出第一行是25,第二行是26.000000. 说实话,当时我的心情几乎是崩溃的。
后来发现:关于pow函数的强制类型转换。浮点数都是不精确的,在强制转换精度时可能会出现 (int)25.999999 = 26 的情况。
所以我将 int base = 0; 改为 float base = 0; ,结果还是不对。错误显示在:
Input:"CFDGSXM";Output:1000000000;Expected:1000000001
于是我出离愤怒了。竟然超过了数据可表示精度。最终换成了:
class Solution {public: int titleToNumber(string s) {int len = s.size(); if(len <= 0) return 0; long double base = 0; for(int i = 0; i< len; i++) { base += (s[i] - 'A' + 1) * pow(26, len - i - 1); } return base; }};
0 0
- 【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
- [leetcode] Excel Sheet Column Number
- Leetcode: Excel Sheet Column Number
- LeetCode-Excel Sheet Column Number
- ctags for systemverilog(vim用)
- Linux 2.6 Completely Fair Scheduler 内幕
- 【Java二十周年】我的JAVA小时代
- java动态代理机制分析
- Hive安装
- 【LeetCode从零单刷】Excel Sheet Column Number
- jsoup详解
- JSON应用场景
- ZOJ 3865 Superbot
- MySQL的学习笔记
- List、Map、Set三个接口,存取元素时,各有什么特点?
- ZOJ3860:Find the Spy
- c语言文件操作常用函数及读写文件代码举列
- [图像]图像缩放算法-双线性内插法