zoukankan      html  css  js  c++  java
  • LeetCode 171 _ Excel表列序号

    1. 题目描述

    2. 代码

     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

    思路: 26个字母, 相当于26进制运算, 跟十进制类似.

             从右往左运算, 当前字母在Excel表中值为 ord(c)-64,(因为 ord('A')=65).

    3. 整理

    3.1 range

    1 for i in range(2, -1, -1):
    2     print(i)
    1 2
    2 1
    3 0
    1 for i in range(0, -1, -1):
    2     print(i)


    0

    3.2 ord() : 以一个字符串(Unicode 字符)作为参数, 返回对应的 ASCII 数值.

    1 print(ord('A'))
    2 
    3 65

    chr() : 用一个整数作参数, 返回当前整数对应的 ASCII 字符.

    1 print(chr(66))
    2 
    3 B

    3.3 x**y , 返回x的y次幂.

  • 相关阅读:
    matrix
    meizi
    公文流转系统
    10.21连接数据库进行添加
    9.27
    9.23课堂总结
    信息管理java
    大道至简读后感
    第二周
    7.7第一周
  • 原文地址:https://www.cnblogs.com/vvzhang/p/13841981.html
Copyright © 2011-2022 走看看