Given an array of strings, return another array containing all of its longest strings.
Example
For inputArray = ["aba", "aa", "ad", "vcd", "aba"]
, the output should be
allLongestStrings(inputArray) = ["aba", "vcd", "aba"]
. Input/Output
-
-
[execution time limit] 4 seconds (py3)
-
[input] array.string inputArray
A non-empty array.
Guaranteed constraints:
1 ≤ inputArray.length ≤ 10
,1 ≤ inputArray[i].length ≤ 10
. -
[output] array.string
Array of the longest strings, stored in the same order as in the
inputArray
.
-
我的解答:
1 def allLongestStrings(inputArray):2 li = []3 m = max(inputArray,key=len)4 for i in inputArray:5 if len(i) == len(m):6 li.append(i)7 return li
膜拜大佬:
1 def allLongestStrings(inputArray):2 m = max(len(s) for s in inputArray)3 r = [s for s in inputArray if len(s) == m]4 return r
虽然代码比大佬写的多,但至少想法一样了....