#阿里笔试#
8月3号凉凉
第一题
n个朋友,m套房子,每套房子一个舒适度一个价格
一起买房子,每人最多买一套,每套最多卖给一个人,求最大舒适度
第二题
给定字符串只含有abcdef,求符合条件的最长子串长度
定义规则如下:
若有ace,则ace两两之间顺序不能错
若有bdf,则bdf两两之间顺序不能错
8月3号凉凉
第一题
n个朋友,m套房子,每套房子一个舒适度一个价格
一起买房子,每人最多买一套,每套最多卖给一个人,求最大舒适度
第二题
给定字符串只含有abcdef,求符合条件的最长子串长度
定义规则如下:
若有ace,则ace两两之间顺序不能错
若有bdf,则bdf两两之间顺序不能错
全部评论
第二题的一个思路
import re
string = 'abcdef'
# 去掉 bdf 之后是否合法
string_1 = re.sub(r'[bdf]', '', string)
# 去掉 ace 之后是否合法
string_2 = re.sub(r'[ace]', '', string)
def fun(string,hashmap):
flag = []
# a #c #f
# a<c<f
if len(string)<=0:
return True
l = list(map(lambda x: hashmap[x],string))
for i in range(1,len(l)):
if l[i]<l[i-1]:
return False
return True
flag1 = fun(string_1,{'a':0,'c':1,'e':2})
flag2 = fun(string_2,{'b':0,'d':1,'f':2})
print(flag1 and flag2)
相关推荐
点赞 评论 收藏
分享