【发布时间】:2018-07-01 06:21:07
【问题描述】:
我有一个字符串数组,我需要找出最短字符串的长度。例如,对于这个字符串数组["abc", "ab", "a"],我应该得到值1。
我写了一个获取字符串数组并返回int值的方法
val minLength = fun(strs: Array<String>): Int {
var minLength = strs[0].length
for (index in 1..strs.size - 1) {
val elemLen = strs[index].length
if (minLength > elemLen) {
minLength = elemLen
}
}
return minLength
}
另一种方法是使用reduce方法
val minLengthReduce = strs.reduce ({
str1, str2 ->
if (str1.length < str2.length) str1 else str2
}).length
是否可以直接从 reduce() 方法获取 int 值而不是字符串值?
我发现这个question 是关于reduce 和fold 方法的。
我应该使用 fold 方法而不是 reduce 吗?
【问题讨论】: