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 beallLongestStrings(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
虽然代码比大佬写的多,但至少想法一样了....
原文地址:https://www.cnblogs.com/YD2018/p/9348437.html
时间: 2024-10-13 18:23:03