【发布时间】:2019-07-20 17:25:45
【问题描述】:
我遇到了这个竞争激烈的编程问题:
-
nums是整数向量(长度n) -
ops是包含+和-的字符串向量(长度n-1)
可以通过 Kotlin 中的reduce 操作来解决,如下所示:
val op_iter = ops.iterator();
nums.reduce {a, b ->
when (op_iter.next()) {
"+" -> a+b
"-" -> a-b
else -> throw Exception()
}
}
reduce 被描述为:
从第一个元素开始累加值,从左到右对当前累加器值和每个元素进行运算。
看起来 Rust 向量没有 reduce 方法。您将如何完成这项任务?
【问题讨论】:
-
要清楚,虽然
Vec缺少reduce方法,但std::iter::Iterator上有fold(相当于reduce),您可以通过执行@987654337 从向量中获取@
标签: collections functional-programming rust reduce