You are given an array strarr of strings and an integer k. Your task is to return the first longest string consisting of k consecutive strings taken in the array.
Example:
longest_consec([“zone”, “abigail”, “theta”, “form”, “libe”, “zas”, “theta”, “abigail”], 2) --> “abigailtheta”
n being the length of the string array, if n = 0 or k > n or k <= 0 return “”.
Note
consecutive strings : follow one after another without an interruption
看了半天才看懂,原来是说找到第一个最长的字符串,该字符串是有k个连续的字符串的总和。
源码:
def longest_consec(strarr, k):
if k>len(strarr) or k<0 or len(strarr)==0:
return ''
strcount = [len(a) for a in strarr]
maxlen = 0
startindex = 0
for i in range(len(strcount)-k+1):
if maxlen < sum(strcount[i:i+k]):
maxlen = sum(strcount[i:i+k])
startindex = i
return ''.join(strarr[startindex:startindex+k])