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
-
651 Solvers
-
Project Euler: Problem 16, Sums of Digits of Powers of Two
141 Solvers
-
Poker Series 01: isStraightFlush
121 Solvers
-
Selecting books on MATLAB for experts and beginners (blindfolded)
76 Solvers
-
Detect a number and replace with two NaN's
193 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!