[LeetCode] 168. Excel Sheet Column Title_Easy tag: Math
2024-08-24 14:39:12
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: 1
Output: "A"
Example 2:
Input: 28
Output: "AB"
Example 3:
Input: 701
Output: "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)
最新文章
- 用xcode6.3编译早期工程时出现Undefined symbols for architecture x86_64错误的解决办法(转)
- Java日期处理类
- 美国L1签证和B1,E2签证的区别
- sentos 上安装vnc图形界面
- leetcode@ [68] Text Justification (String Manipulation)
- HDOJ-ACM1003(JAVA)
- jquery 银行卡号验证
- sql基础复习
- 11136-Hoax or what
- xp对opengl的支持问题
- [SCOI2007]压缩 区间dp
- Sublime Text 2安装图解
- ssh 设置私钥实现两台linux主机无密码访问
- [poj3904]Sky Code_状态压缩_容斥原理
- Android中怎样获取SD卡路径
- File 文件
- 转,敏感词过滤,PHP实现的Trie树
- Java NIO(一)I/O模型概述
- Vuejs 使用 lib 库模式打包 umd 解决 NPM 包发布的问题
- Web中的宽和高
热门文章
- goldengate 过滤对某张表的复制操作
- JDBC的驱动是如何加载的
- 《代码大全》阅读笔记-33-个人性格(personal character)
- jenkins 集成redmine
- stopImmediatePropagation和stopPropagation (事件、防止侦听)
- for,for-each,for-in,for-of,map的比较
- 状态机FSM
- 关于javaagent拦截不到File类的问题
- 【CF917D】Stranger Trees 树形DP+Prufer序列
- [工具] f.lux – 随时间改变屏幕色温护眼