某大厂的两道简单的测试题
直接看题吧
题1:
# Q1:输入一个字符串,计算其以空格、tab空白符分割后,有多少个子字符串。
string_ = "aa bb cc dd cc"
def test(s):
# 方法一:直接用split()方法
# return len(s.split(' ')) # 错误方式,考虑不全
# return len(s.split()) # 应该是符合的,从源码里可见ta只是分割的范围比题目要求的多
# 方法二:使用正则
import re
regex = re.split('\t| ', s) # 或者 re.split('\s+', s)
print(regex)
return len(regex)
if __name__ == '__main__':
print(test(string_))
题2:
# Q2:一个数字或字符在形状上可能存在封闭的区间,
# 比如数字8有两个封闭区间,大写字母A有一个封闭区间,小写字母c和数字5没有封闭区间。
# 输入:非空字符串,只包含0-9,a-z,A-Z
# 输出:字符串中,封闭区间的个数
enclosure_dict = {'0': 1, '4': 1, '6': 1, '8': 2, '9': 1,
'a': 1, 'b': 1, 'd': 1, 'e': 1, 'g': 1, 'o': 1, 'p': 1, 'q': 1,
'A': 1, 'B': 2, 'D': 1, 'O': 1, 'P': 1, 'Q': 1, 'R': 1}
def test(s):
total = 0
for i in s:
count = enclosure_dict.get(i, 0)
total += count
return total
if __name__ == '__main__':
s = "1234ABCDEFGOab"
print(test(s))
通过这次机会,也认识了一个好友,加了微信简单地交流了一下关于某厂某岗位的招聘要求,有收获颇多,感觉不错,帮助别人真好,多交友多学习~