美团点评2020校招测试方向笔试题
6.小美和小团在玩一个游戏,小美任意给出一个大字符串str1以及一个独立的小字符串str2,小团需要从这个大字符串str1里找到包含独立小字符串str2中所有字符的最小子字符串str3;
例如,小美给出一个大字符串"meituan2019"和一个子字符串"i2t",那么小团给出的答案就应该是"ituan2";
需要注意:
1、str1中有可能没有完整包含str2所有字符的情况,此时返回"",即为空字符串;
2、str1不会为空,但str2有可能为空,此时返回整个str1;
3、str2可能存在重复的字符,此时str3需要包含相等数量该字符;
#
#
# @param str1 string字符串
# @param str2 string字符串
# @return string字符串
#
class Solution:
def getMinString(self, str1, str2):
# write code here
list_index = []
# 1. str1不会为空,但str2有可能为空,此时返回整个str1
if str2 == "":
return str1
# 2. str1中有可能没有完整包含str2所有字符的情况
for i in str2:
if i not in str1 or str2.count(i) > str1.count(i):
return ""
else:
n = str2.count(i)
index_i = str1.index(i)
list_index.append(index_i)
# 3. str2可能存在重复的字符
if n > 1:

这是一道美团点评2020校招测试笔试题,要求从大字符串str1中找到包含小字符串str2所有字符的最小子字符串str3。如果str1无法完全包含str2的所有字符,则返回空字符串;若str2为空,返回str1;str2可能有重复字符,str3需包含相同数量的这些字符。
最低0.47元/天 解锁文章
6071

被折叠的 条评论
为什么被折叠?



