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. Weston学习

    来源网址:http://blog.csdn.net/fyh2003/article/details/49253713 Weston启动时会读取weston.ini这个配置文件,其中可以配置桌面,动画和 ...

  2. apache flink docker-compose 运行试用

    apache 是一个流处理框架,官方提供了docker 镜像,同时也提供了基于docker-compose 运行的说明 docker-compose file version: "2.1&q ...

  3. 调用飞信HTTP接口给自己发短信

    注: 1.下文中所有HTTP请求所指的Host都是f.10086.cn 2.目前只有中国移动用户可以使用 1.打开登录页面:GET /huc/user/space/login.do?m=submit& ...

  4. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  5. Oracle DataBase单实例使用ASM案例(1)--ASM基本概念

    版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle DataBase单实例使用ASM案例(1)--ASM基本概念 系统环境: 操作系统:RH EL5-64 Oracle 软件: Ora ...

  6. gitlab使用外部的postgresql、外部的redis服务器

    postgresql创建用户 su - postgres psql create role gitlab login encrypted password 'pass';\du ;显示用户 postg ...

  7. Django Admin 时间格式化

    http://961911.blog.51cto.com/951911/1557218 修改settings.py,添加一下内容: USE_L10N = False DATETIME_FORMAT = ...

  8. script 标签的defer,async的作用,及拓展浏览器多线程,DOMContentLoaded

    前端优化有一点就是优化js的执行时机,一般做法是将script放置于body的结束标签,以避免加载执行js 文件导致页面渲染阻塞的问题这种做法确实能防止页面阻塞,但是在页面渲染完成之后才去加载js文件 ...

  9. ASP.NET网站权限设计实现(三)——套用JQuery EasyUI列表显示数据、分页、查询

    一.说明: JQuery EasyUI下载地址:http://jquery-easyui.wikidot.com/download,最新版本1.2.2. 首先预览一下界面: 本例实现的功能: 1.多标 ...

  10. 用SqlConnectionStringBuilder修改连接超时时间

    连接是通过参数传入,欲修改超时时间. SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(connStr); scsb.C ...