python求解LeetCode 习题 Excel Sheet Column Title
1、题目
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB
翻译:
题目的意思就是想把类似于A、AA、AS这样的字符转化为26进制表达的数字,还要实现反转
思路:
按照正常的进制转换的做法的确是可以做出来,但是个人感觉这个题目还有别的更简单的做法,就是事先建立起来两个映射的字典,最起码可以提高效率,这也是我第一眼看到这个题目就想用的方法,事实证明的确是好使的,至于时间效率什么的倒是没有去测试,如果感兴趣的话倒是可以去试试
下面是具体实现:
#!usr/bin/env python
#encoding:utf-8'''
__Author__:沂水寒城
功能:实现进制转换
'''map_dict={'A':1,'B':2,'C':3,'D':4,'E':5,'F':6,'G':7,'H':8,'I':9,'J':10,'K':11,'L':12,'M':13,'N':14,'O':15,'P':16,'Q':17,'R':18,'S':19,'T':20,'U':21,'V':22,'W':23,'X':24,'Y':25,'Z':26}reverse_map={1:'A',2:'B',3:'C',4:'D',5:'E',6:'F',7:'G',8:'H',9:'I',10:'J',11:'K',12:'L',13:'M',14:'N',15:'O',16:'P',17:'Q',18:'R',19:'S',20:'T',21:'U',22:'V',23:'W',24:'X',25:'Y',26:'Z'}def excel_sheet_title_transform(str_list):'''输入:['A','AZ','AM','BA']输出:对应的数字'''for one in str_list:if len(one)==1:print str(one)+'----->'+str(map_dict[one])else:length=len(one)value=0for i in range(length-1):value+=26*map_dict[one[i]]value+=map_dict[one[-1]]print str(one)+'----->'+str(value)def reverse_transform(num_list):'''输入:[1,52,39,53]输出:对应英文字符'''for one in num_list:if one<=26:print str(one)+'------>'+reverse_map[one]else:one_list=[]temp=onewhile one!=0:mod=one%26one_list.append(mod)one/=26str_list=[]for one_num in one_list:if one_num in map_dict.values():str_list.append(reverse_map[one_num])print str(temp)+'------>'+''.join(str_list[::-1])if __name__ == '__main__':str_list=['A','AZ','AM','BA']num_list=[1,52,39,53]excel_sheet_title_transform(str_list)print '*************************reverse_transform***************************'reverse_transform(num_list)
结果如下:
A----->1
AZ----->52
AM----->39
BA----->53
*************************reverse_transform***************************
1------>A
52------>B
39------>AM
53------>BA
[Finished in 0.3s]
python求解LeetCode 习题 Excel Sheet Column Title相关推荐
- LeetCode 168. Excel Sheet Column Title
LeetCode 168. Excel Sheet Column Title 分析 难度 易 来源 https://leetcode.com/problems/excel-sheet-column-t ...
- LeetCode - Easy - Excel Sheet Column Title
2019独角兽企业重金招聘Python工程师标准>>> Given a positive integer, return its corresponding column title ...
- LeetCode 168 Excel Sheet Column Title
168. Excel Sheet Column Title Given a positive integer, return its corresponding column title as app ...
- LeetCode之Excel Sheet Column Number
1.题目 Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, ...
- Leet Code OJ 168. Excel Sheet Column Title [Difficulty: Easy]
题目: Given a positive integer, return its corresponding column title as appear in an Excel sheet. For ...
- leetcode python3 简单题168. Excel Sheet Column Title
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第一百六十八题 (1)题目 英文: Given a positive integer ...
- C#LeetCode刷题之#168-Excel表列名称(Excel Sheet Column Title)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3850 访问. 给定一个正整数,返回它在 Excel 表中相对应的 ...
- Leetcode: Excel Sheet Column Title
Given a positive integer, return its corresponding column title as appear in an Excel sheet.For exam ...
- 【LeetCode】168. Excel Sheet Column Title 解题小结
题目: Given a positive integer, return its corresponding column title as appear in an Excel sheet. For ...
- Excel Sheet Column Title -- leetcode
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...
最新文章
- 再读《精通css》06:背景图片
- 独家 | 大数据与AI技术在金融科技的应用
- 【数学与算法】如何通俗的理解概率密度函数
- java中==和equals引发的思考
- JS入门之Date对象
- ajax php接收不到数据库,PHP更新MySQL数据库与AJAX调用没有做任何事情
- 【数据库】Mean web开发 02-Windows下Mongodb安装配置及常用客户端管理工具
- ISO/IEC 27000官方文档
- python爬虫:爬东方财富网平安银行历史资金流向并写入MySQL
- 详细跨境电商模式分析
- 一个简单炫酷的前端小项目(html+css+js)----3D图片演示
- 百度百聘企业简单信息获取
- 虚拟机CentOS无网络连接
- win7连不上手机热点,怎么处理?
- hadoop与spark大数据平台培训推荐书目
- SpringBoot OA自动化办公系统
- 某大厂来的水货CTO,写出了新手都不会犯的低级 Bug,被骗300W!就里就不点名了!...
- 人工智能教程 - 1.1.1 什么是神经网络
- 大众汽车平台PQ、MBQ简介
- 引用element-ui的Drawer抽屉组件报错问题