Cita:
Iniciado por lareto Estoy seguro que mi primera versión puede optimizarse
Seguro puedes estar... la versión que te he puesto es el ejemplo.
Cita:
Iniciado por lareto Idear una solución C++ suele ser más fácil que idear una solución C
totalmente de acuerdo. Es un lenguaje de más alto nivel y eso facilita las cosas.. Siguiendo la misma regla de 3, hacer lo mismo en C# o en Java suele ser muchísimo más facil que hacerlo en C++... más fácil con menos errores y en menos tiempo.
Cita:
Iniciado por lareto pero si tu versión anterior trabajaba para no hacer nada, esta otra trabaja para dejar todo como está.
La versión que he puesto genera exactamente la misma salida que la versión que tu has puesto... es decir, ante una misma entrada generan una misma salida. Si mi versión trabaja para dejar todo como está la tuya también.
Tu has tirado de
std::distance para calcular el número de items repetidos y yo he ido acumulando las repeticiones en el mapa directamente... si
dejase las cosas como están las salidas de ambas funciones serían diferentes.