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. git操命令&&node操作命令

    1:删除远程库中的分支(现在本地删除该分支) git push origin --delete trunk分支 2:初始化一个新的工程 jdf install init xxx 3:编译好代码后,交给 ...

  2. 使用blessed 开发丰富的cli 应用

    blessed 是一个不错的npm 包,可以帮助我们开发出带有丰富ui界面的cli 应用,类似的有subzero 测试环境准备 项目结构 ├── README.md ├── app.js ├── my ...

  3. prisma 集成 pipelinedb测试

    pipelinedb 是一个基于pg数据库开发的stream sql 数据库,和prisma 集成起来可以开发很 方便的stream 应用 使用docker 安装 项目初始化 prisma init ...

  4. tomcat源码阅读之StandardHost和StandardEngine

    StandardHost及UML类图: 1.StandardHost类是Host接口的默认实现:其继承自ContainerBase类,说明他也是一个容器类,既然是容器类,那肯定也有管道对象PipeLi ...

  5. Android 禁止系统进入深度休眠

    在Linux系统中,wake_lock是一直锁机制,只要有驱动占用这个锁,系统就不会进入深度休眠. 获取此锁的方法有两种: 1.在adb中通过指令获取wake_lock,系统就不会进入深度休眠 ech ...

  6. Guid 几种格式化

    //32 位数字:00000000000000000000000000000000 Console.WriteLine(Guid.NewGuid().ToString("N")); ...

  7. 【Spring学习笔记-MVC-12】Spring MVC视图解析器之ResourceBundleViewResolver

    场景 当我们设计程序界面的时候,中国人希望界面是中文,而美国人希望界面是英文. 我们当然希望后台代码不需改变,系统能够通过配置文件配置,来自己觉得是显示中文界面还是英文界面. 这是,Spring mv ...

  8. 【EasyUI学习-2】Easyui Tree的异步加载

    作者:ssslinppp       1. 摘要 2. tree的相关介绍 3. 异步加载tree数据,并实现tree的折叠展开 3.1 功能说明: 3.2 前台代码 3.3 后台代码 4. 其他 1 ...

  9. Java\学习——字符串

    import java.util.Scanner; public class cys1 { /** * @param args */ public static void main(String[] ...

  10. [转]Windows服务“允许服务与桌面交互”的使用和修改方法

    上一篇文章是纯 C# 代码的形式勾上 “允许服务与桌面交互” 选项的 本文转载自:http://blog.csdn.net/lanruoshui/article/details/4756408 描述: ...