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. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.2 agenda-group

    转载:https://blog.csdn.net/wo541075754/article/details/75332720 agenda-group 规则的调用与执行是通过StatelessKieSe ...

  2. M端计算rem方法

    (function(){var a=document.documentElement.clientWidth||document.body.clientWidth;if(a>460){a=460 ...

  3. cacheAsBitmap位图缓存

    使用cacheAsBitmap将缓存显示对象的内部位图表示形式. 此缓存可以提高包含复杂矢量内容的显示对象的性能.此方法适合运用于较多的图片或文字移动,不过也不能太随意乱用,有利必有弊,使用cache ...

  4. 【转】每天一个linux命令(3):pwd命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/10/24/2737730.html Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单 ...

  5. mysql之 远程连接 mysql 很慢,本地连接 mysql 很快 (skip-name-resolve)

    症状:,远程连接 mysql 很慢,但是 本地连接 mysql 很快, ping 和 route 网络通信都是正常的. 解决:mysql 的配置文件中增加如下配置参数:[mysqld]skip-nam ...

  6. vue-cli 中的静态资源处理

    你会注意到在项目结构上我们有静态资源两个目录:src/assets 和 static/.它们之间有什么区别? 1. 通过webpack处理的资源 要回答这个问题,我们首先需要了解webpack如何处理 ...

  7. centos6/7安装gitlab

    CentOS/RHEL 6/7安装gitlab新建 /etc/yum.repos.d/gitlab-ce.repo,内容为你的CentOS/RHEL版本:centos6 [gitlab-ce] nam ...

  8. 浅谈fhq_treap

    \(BST\) 二叉查找树,首先它是一颗二叉树,其次它里面每个点都满足以该点左儿子为根的子树里结点的值都小于自己的值,以该点右儿子为根的子树里结点的值都大于自己的值.如果不进行修改,每次查询都是\(O ...

  9. oracle 无法启动图形界面,no protocol specified

    linux 终端启动图形化程序界面时报错:No protocol specified这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏 ...

  10. 三元表达式return if 简化 if 判断语句