Problem 595. Reduce - Map-Reduce
Write reduce function, that takes arguments and constantly folds results into next call argument, finally returning a value; i.e. for a binary operator Fb,
reduce(Fb,{a,b,c},start_val) = F(F(F(start_val,a),b),c)
Same can be done for a n-ary operators.
Eg. reduce(@strcat,{'foo','bar','baz','bat'},' ') = reduce(@plus,{1,2,3,4},0) = 10 reduce(@max,{1,2,3,4},{5,6,7,8},5) = 8
Remember, we use cell arrays for passing arguments, not matrices!
Solution Stats
Problem Comments
-
3 Comments
could you separate your asserts into multiple cells so you can see which test case is failing?
also, how do you define the n-ary behavior since max only takes up to 2 non-empty arguments?
I mean, n-ary operators are also supported, but I use max as a binary op.
Solution Comments
Show commentsProblem Recent Solvers17
Suggested Problems
-
Find relatively common elements in matrix rows
2048 Solvers
-
34 Solvers
-
Find perfect placement of non-rotating dominoes (easier)
350 Solvers
-
Longest run of consecutive numbers
5509 Solvers
-
Create a random logical vector of N elements of which M are true.
101 Solvers
More from this Author10
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!