public class Solution {
private int ConvertToC(char c)
{
int rnt = ; switch (c)
{
case 'A':
case 'a':
rnt = ;
break;
case 'B':
case 'b':
rnt = ;
break;
case 'C':
case 'c':
rnt = ;
break;
case 'D':
case 'd':
rnt = ;
break;
case 'E':
case 'e':
rnt = ;
break;
case 'F':
case 'f':
rnt = ;
break;
case 'G':
case 'g':
rnt = ;
break;
case 'H':
case 'h':
rnt = ;
break;
case 'I':
case 'i':
rnt = ;
break;
case 'J':
case 'j':
rnt = ;
break;
case 'K':
case 'k':
rnt = ;
break;
case 'L':
case 'l':
rnt = ;
break;
case 'M':
case 'm':
rnt = ;
break;
case 'N':
case 'n':
rnt = ;
break;
case 'O':
case 'o':
rnt = ;
break;
case 'P':
case 'p':
rnt = ;
break;
case 'Q':
case 'q':
rnt = ;
break;
case 'R':
case 'r':
rnt = ;
break;
case 'S':
case 's':
rnt = ;
break;
case 'T':
case 't':
rnt = ;
break;
case 'U':
case 'u':
rnt = ;
break;
case 'V':
case 'v':
rnt = ;
break;
case 'W':
case 'w':
rnt = ;
break;
case 'X':
case 'x':
rnt = ;
break;
case 'Y':
case 'y':
rnt = ;
break;
case 'Z':
case 'z':
rnt = ;
break;
default:
rnt = ;
break;
}
return rnt;
} public int TitleToNumber(string s)
{
var list = s.ToList();
var count = list.Count; int sum = ; for (int i = ; i < list.Count; i++)
{
var mi = count - i - ;
//mi是幂 * pow(26,mi)
int num = ConvertToC(list[i]);
sum += num * Convert.ToInt32(Math.Pow(, mi));
} Console.WriteLine(sum);
return sum;
}
}

https://leetcode.com/problems/excel-sheet-column-number/#/description

补充一个python的实现:

 class Solution:
def titleToNumber(self, s: 'str') -> 'int':
s = s.upper()
n = len(s)
sums =
k =
for i in range(n-,-,-):
asci = ord(s[i]) -
sums += ** k * asci
k +=
return sums

leetcode171的更多相关文章

  1. [Swift]LeetCode171. Excel表列序号 | Excel Sheet Column Number

    Given a column title as appear in an Excel sheet, return its corresponding column number. For exampl ...

  2. leetcode171 Excel Sheet Column Number

    题意: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 思路:找规律,挺简单的···可是小地方错了一些搞了半天 ...

  3. leetcode171 Excel列表序列号

    /** 可看做26进制到10进制转换问题:v=26*v+s[i]-'A'; **/ class Solution { public: int titleToNumber(string s) { ; f ...

  4. leetcode探索中级算法

    leetcode探索中级答案汇总: https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/ 1)数 ...

随机推荐

  1. spring boot 热部署devtools实现

    1.devtools spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot ...

  2. 练习SQL代码

    ---------PS:但凡有聚合函数(where),必然后Group by,Group by后面跟having ---------面试题 SELECT name,sum(fen) as s from ...

  3. apache airflow docker 运行简单试用

    airflow 是一个编排.调度和监控workflow的平台,由Airbnb开源,现在在Apache Software Foundation 孵化. airflow 将workflow编排为tasks ...

  4. Oracle活动会话历史(ASH)及报告解读

    对于数据库运行期间的各种状态的实时监控以及相关性能数据捕获对于解决性能问题,提高整体业务系统运行效率是至关重要的.在Oracle数据库中,实时捕获相关性能数据是通过ASH工具来实现的.ASH通过每秒钟 ...

  5. 各JAVA开发框架版本及对应信息

    日期:2017.05.22 当前最新 release 版本情况: 框架 最新GA(General Availability)版本 spring 4.3.8 spring boot 1.5.3 myba ...

  6. Mfs+drbd+keepalived实现mfs系统高可用

    http://blog.sina.com.cn/s/blog_53c654720102wo1k.html Moosefs分布式文件系统是一个易用的系统,但其只有在Pro版中提供了master的高可用方 ...

  7. SQL SERVER 2008 彻底卸载干净方法 (转)

    最近安装SQL SERVER 2008失败后,再重新安装时老是报错,东搞西搞的很难卸干净.但又不方便重装系统,经按下面方法终于搞定并成功安装上2008 1.停掉SQL SERVER 2008所有相关服 ...

  8. Tomcat 8.5 无法进入Manage APP

    解决的方法 1. 添加 Context http://stackoverflow.com/questions/36703856/access-tomcat-manager-app-from-diffe ...

  9. MySQL索引分类和各自用途

    一. MySQL: 索引以B树格式保存 Memory存储引擎可以选择Hash或BTree索引,Hash索引只能用于=或<=>的等式比较. 1.普通索引:create index on Ta ...

  10. valgrind的使用--检测内存

    valgrind主要检测内存的使用情况,检测有否内存泄露等. 比如:test_va2.cpp #include<iostream> using namespace std; int mai ...