Una introducción al patrón map-reduce
Implementarás un caso básico del patrón map-reduce en programación. Usa las funciones integradas de arreglos de C++ std::transform para map y std::accumulate para reduce para resolver el siguiente problema.
Dado un vector almacenado como un arreglo de números, encuentra la magnitud del vector (es similar a la función hypot()). Eleva al cuadrado cada coordenada, suma los cuadrados y devuelve la raíz cuadrada de esa suma.
Ejemplos
magnitude([3, 4]) ➞ 5
magnitude([0, 0, -10]) ➞ 10
magnitude([]) ➞ 0
magnitude([2, 3, 6, 1, 8] ) ➞ 10.677078252031311Notas
- El arreglo puede tener cualquier longitud.
- El arreglo de entrada contendrá enteros (excepto en el caso del arreglo vacío
[] ➞ 0). - Usa tanto
std::transform(...)comostd::accumulate(...). - No uses
hypot().