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. socket套接字和驱动绑定分析

    1. socket()系统调用 socket系统调用是哪个:socket()有3个参数,因此搜索SYSCALL_DEFINE3,然后在检索socket即可. SYSCALL_DEFINE3(socke ...

  2. ARP命令详解

    ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址.实用arp命令,我们能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容.此外,使用arp命令,也可以用人工方式输入 ...

  3. bzoj 2784 [JLOI2012]时间流逝——树上高斯消元

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2784 一个状态可以加很多个能量圈,但减少能量圈的情况只有一种.所以可以用树来刻画. 然后就变 ...

  4. c#操作xml的代码(插入节点、修改节点、删除节点等)

    bookstore.xml文件内容: 复制代码代码示例: <?xml version="1.0" encoding="gb2312"?><bo ...

  5. mysql编译安装(详细)

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  6. g++编译后中文显示乱码解决方案

    环境:Windows 10 专业版 GCC版本:5.3.0 测试代码: #include <iostream> using namespace std; int main(int argc ...

  7. bzoj 1390: [Ceoi2008]Fence

    Description 在一个大小为1000*1000的区域中,有n个固定点,m棵tree . 现在你要建一个围栏来保护tree,建它的费用为你选用的固定点的个数 *20和 你没有圈进围栏的tree* ...

  8. 显式等待大结局___封装成API方便控制层调用

    控制层 测试用例层: 控制层示例代码: #coding=utf-8from selenium.webdriver.common.by import Byfrom selenium.webdriver. ...

  9. 小甲鱼-003 python插曲值变量和字符串

    变量名就像现实生活人们的名字,把一个值赋值给一个名字时,他会存储在内存中,称之为变量variable,在大多数语言中,都把这种行为成为"给变量赋值"或"把值存储在变量中& ...

  10. 利用ubuntu的alias命令来简化许多复杂难打的命令

    利用alias,可以将你要长期执行的命令,用一个你最喜欢的名字记下来, 用你最喜欢的编辑器打开.bashrc文件( 如$  vim ~/.bashrc) 在最后面输入: alias myssh='ss ...