博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] 168. Excel Sheet Column Title_Easy tag: Math
阅读量:4555 次
发布时间:2019-06-08

本文共 1116 字,大约阅读时间需要 3 分钟。

Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

1 -> A    2 -> B    3 -> C    ...    26 -> Z    27 -> AA    28 -> AB     ...

Example 1:

Input: 1Output: "A"

Example 2:

Input: 28Output: "AB"

Example 3:

Input: 701Output: "ZY"

这个题目实际上就想用26进制去将integer转换为string而已.可以看到如果是n%26, 如果是0, 那么就是Z, 否则的话就是chars[n%6], 并且之前的n/26要减一.

 

Code

1) 基本做法

class Solution:    def convertToTitle(self, n):        chars, rem, ans = 'Z' + string.ascii_uppercase, 1, ""        while n > 0:            rem, n = divmod(n, 26)            ans += chars[n]            if n == 0:                rem -= 1            n = rem        return ans[::-1]

 

2) 利用chr(ord('A') + n) 去代替chars

class Solution:    def converToTitle(self, n):        ans = ""        while n > 0:            rem, n = divmod(n-1, 26)            ans += chr(ord('A') + n)            n = rem        return ans[::-1]

 

3) 利用2) 的算法, 但是我们用recursive方式

class Solution:    def converToTitle(self, n):        return "" if n == 0 else self.converToTitle((n-1)/26) + chr(ord('A') + (n-1)%26)

 

转载于:https://www.cnblogs.com/Johnsonxiong/p/9491761.html

你可能感兴趣的文章
Git教程Git多人协作开发
查看>>
wkwebview 重定向处理新开窗口问题
查看>>
Swift 解决Debugger中左侧无法获取变量值的问题
查看>>
项目自动化建构工具gradle 入门1——输出helloWorld
查看>>
UVA - 11401
查看>>
iOS iconFont使用
查看>>
Opengl VS2008开发环境
查看>>
Rsync + sersync 实时同步备份
查看>>
Code analysis tools 'FxCop' for .net
查看>>
ubuntu下安装mysql
查看>>
python中set、list、dict内部实现原理
查看>>
动态点分治
查看>>
zoj 1083 Frame Stacking
查看>>
Valid Number
查看>>
Node.js NPM 使用介绍
查看>>
Python3 MySQL 数据库连接
查看>>
正则\1\2和\\1的理解
查看>>
Python文件操作(一)
查看>>
Sage CRM 平衡区域树结构
查看>>
Codeforces Round #228 (Div. 1) C. Fox and Card Game 博弈
查看>>