这是一个骇客问题,我是这里的一个不速之客。5/15测试用例正在工作,但是当要分析的字符串太大时,测试用例将由于超时而终止。任何指导都将不胜感激
问题是,两个玩家被赋予相同的字符串。 两个玩家都必须使用字符串的字母制作子字符串。 斯图尔特必须让单词以辅音开头。 凯文必须写出以元音开头的单词。 如果子字符串出现x次,则构成+x分数。 当两个玩家都制作了所有可能的子字符串时,游戏结束
def minion_game(string):
vowels = {'A', 'E', 'I', 'O', 'U'}
strlen = len(string)
Stuart, Kevin = 0, 0
words = set([])
for i in range(strlen):
for j in range(i, strlen):
temp_word = string[i:j + 1]
temp_word_length = j-i+1
if temp_word not in words:
words.add(temp_word)
no_of_search = strlen - temp_word_length + 1
score = sum(temp_word == string[x : x + temp_word_length] for x in range(no_of_search))
if string[i] in vowels:
Kevin += score
else:
Stuart += score
if Stuart > Kevin:
print('Stuart', Stuart)
elif Kevin > Stuart:
print('Kevin', Kevin)
else:
print('Draw')
我只是看看问题的来源
这可能是你能做到的最短的方法
这部分遍历输入字符串中的每个字母,并检查它是否为元音
HackerRank会自动给你以下信息,如果你真的检查过的话,那就是声明的地方
相关问题 更多 >
编程相关推荐