腾讯2017秋招笔试编程题:编码 [python]
2017-11-23 08:59
871 查看
'''
[编程题] 编码
时间限制:1秒
空间限制:32768K
假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下:
a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy
其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一个函数,输入是任意一个编码,输出这个编码对应的Index.
输入描述:
输入一个待编码的字符串,字符串长度小于等于100.
输出描述:
输出这个编码的index
输入例子1:
baca
输出例子1:
16331
'''
'''
解题思路:考虑细节
字符串a的编码是0,那么字符串b的编码是0 + 25^0 + 25^1 + 25^2 + 25^3
字符串aa的编码是1,那么字符串ab的编码是 1 + 25^0 + 25^1 + 25^2
字符串aaa的编码是2,那么字符串aab的编码是 2 + 25^0 + 25^1
字符串aaaa的编码是3,那么字符串aab的编码是 3 + 25^0
根据字符串中字母所在位置不同,索引值每次递增的值也不同,第一位字母变化一次,索引值递增25^0 + 25^1 + 25^2 + 25^3,依次类推。
具体细节不多赘述,可以根据这个思路自己去实现,也可以参考我的代码。
'''
'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
'''
bit_1 = 25**0 + 25**1 + 25**2 + 25**3
bit_2 = 25**0 + 25**1 + 25**2
bit_3 = 25**0 + 25**1
bit_4 = 25**0
bit = [bit_1, bit_2, bit_3, bit_4]
string = input()
length = len(string)
index = -1
for i in range(length):
temp = ord(string[i]) - 97
index += 1
index += temp * bit[i]
print(index)
[编程题] 编码
时间限制:1秒
空间限制:32768K
假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下:
a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy
其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一个函数,输入是任意一个编码,输出这个编码对应的Index.
输入描述:
输入一个待编码的字符串,字符串长度小于等于100.
输出描述:
输出这个编码的index
输入例子1:
baca
输出例子1:
16331
'''
'''
解题思路:考虑细节
字符串a的编码是0,那么字符串b的编码是0 + 25^0 + 25^1 + 25^2 + 25^3
字符串aa的编码是1,那么字符串ab的编码是 1 + 25^0 + 25^1 + 25^2
字符串aaa的编码是2,那么字符串aab的编码是 2 + 25^0 + 25^1
字符串aaaa的编码是3,那么字符串aab的编码是 3 + 25^0
根据字符串中字母所在位置不同,索引值每次递增的值也不同,第一位字母变化一次,索引值递增25^0 + 25^1 + 25^2 + 25^3,依次类推。
具体细节不多赘述,可以根据这个思路自己去实现,也可以参考我的代码。
'''
'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
'''
bit_1 = 25**0 + 25**1 + 25**2 + 25**3
bit_2 = 25**0 + 25**1 + 25**2
bit_3 = 25**0 + 25**1
bit_4 = 25**0
bit = [bit_1, bit_2, bit_3, bit_4]
string = input()
length = len(string)
index = -1
for i in range(length):
temp = ord(string[i]) - 97
index += 1
index += temp * bit[i]
print(index)
相关文章推荐
- 腾讯2017秋招笔试编程题:素数对 [python]
- 腾讯2017秋招笔试编程题:游戏任务标记 [python]
- 腾讯2017秋招笔试编程题_编码
- 腾讯2017秋招笔试编程题:geohash [python]
- 腾讯2017秋招笔试编程题--编码
- 百度2017春招笔试真题编程题集合:不等式数列 [python]
- 腾讯2017秋招笔试编码C++实现
- 1--百度2017春招笔试真题编程题集合--买帽子(Python)
- 百度2017春招笔试真题编程题集合:买帽子 [python]
- 腾讯2017笔试题:编码
- 百度2017春招笔试真题编程题集合:寻找三角形 [python]
- 腾讯2017秋招笔试编程题--素数对
- 腾讯2017秋招笔试编程题(二)----游戏任务标记
- 腾讯笔试编程题(2017暑期实习生编程题)
- 4--百度2017春招笔试真题编程题集合--有趣的排序 (Python)
- 百度2017春招笔试真题编程题集合:度度熊回家 [python]
- 腾讯2017暑假实习生招聘笔试编程题
- [笔试编程题] 腾讯2017暑期实习生编程题-java
- 腾讯2017秋招笔试编程题(四)----geohash编码
- 百度2017春招笔试真题编程题集合:有趣的排序 [python]