zoukankan      html  css  js  c++  java
  • leetcode171

    public class Solution {
        private int ConvertToC(char c)
            {
                int rnt = 0;
    
                switch (c)
                {
                    case 'A':
                    case 'a':
                        rnt = 1;
                        break;
                    case 'B':
                    case 'b':
                        rnt = 2;
                        break;
                    case 'C':
                    case 'c':
                        rnt = 3;
                        break;
                    case 'D':
                    case 'd':
                        rnt = 4;
                        break;
                    case 'E':
                    case 'e':
                        rnt = 5;
                        break;
                    case 'F':
                    case 'f':
                        rnt = 6;
                        break;
                    case 'G':
                    case 'g':
                        rnt = 7;
                        break;
                    case 'H':
                    case 'h':
                        rnt = 8;
                        break;
                    case 'I':
                    case 'i':
                        rnt = 9;
                        break;
                    case 'J':
                    case 'j':
                        rnt = 10;
                        break;
                    case 'K':
                    case 'k':
                        rnt = 11;
                        break;
                    case 'L':
                    case 'l':
                        rnt = 12;
                        break;
                    case 'M':
                    case 'm':
                        rnt = 13;
                        break;
                    case 'N':
                    case 'n':
                        rnt = 14;
                        break;
                    case 'O':
                    case 'o':
                        rnt = 15;
                        break;
                    case 'P':
                    case 'p':
                        rnt = 16;
                        break;
                    case 'Q':
                    case 'q':
                        rnt = 17;
                        break;
                    case 'R':
                    case 'r':
                        rnt = 18;
                        break;
                    case 'S':
                    case 's':
                        rnt = 19;
                        break;
                    case 'T':
                    case 't':
                        rnt = 20;
                        break;
                    case 'U':
                    case 'u':
                        rnt = 21;
                        break;
                    case 'V':
                    case 'v':
                        rnt = 22;
                        break;
                    case 'W':
                    case 'w':
                        rnt = 23;
                        break;
                    case 'X':
                    case 'x':
                        rnt = 24;
                        break;
                    case 'Y':
                    case 'y':
                        rnt = 25;
                        break;
                    case 'Z':
                    case 'z':
                        rnt = 26;
                        break;
                    default:
                        rnt = 0;
                        break;
                }
                return rnt;
            }
    
            public int TitleToNumber(string s)
            {
                var list = s.ToList();
                var count = list.Count;
                
                int sum = 0;
    
                for (int i = 0; i < list.Count; i++)
                {
                    var mi = count - i - 1;
                    //mi是幂  * pow(26,mi)
                    int num = ConvertToC(list[i]);
                    sum += num * Convert.ToInt32(Math.Pow(26, mi));
                }
    
                Console.WriteLine(sum);
                return sum;
            }
    }

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

    补充一个python的实现:

     1 class Solution:
     2     def titleToNumber(self, s: 'str') -> 'int':
     3         s = s.upper()
     4         n = len(s)
     5         sums = 0
     6         k = 0
     7         for i in range(n-1,-1,-1):
     8             asci = ord(s[i]) - 64
     9             sums += 26 ** k * asci
    10             k += 1
    11         return sums
  • 相关阅读:
    k近邻 KNN
    聚类之k-means
    支持向量机SVM、优化问题、核函数
    [THUSC 2016] 补退选 (Trie树)
    [CQOI2016] 手机号码 (数位dp)
    [CQOI2012] 交换棋子 (费用流)
    [SCOI2016] 背单词 (Trie树)
    [JSOI2009] 球队收益 (费用流)
    [BZOJ1878][SDOI2009] HH的项链 (树状数组)
    [BZOJ2151]种树
  • 原文地址:https://www.cnblogs.com/asenyang/p/6732410.html
Copyright © 2011-2022 走看看