Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

256
Vistas
¿Algoritmo de ganador del torneo javascript usando Map?

Hello Tournament Winner es un desafío de algoritmo en el que, dada una matriz de pares que representan a los equipos que han competido entre sí y una matriz que contiene los resultados de cada competencia, se escribe una función que arroja el ganador del torneo.

Los resultados[i] indican el ganador de las competiciones[i], donde 1 en la matriz de resultados significa que ganó el equipo local y 0 significa que ganó el equipo visitante.

Este es mi código y pseudo-código hasta ahora:

 function tournamentWinner(competitions, results) { let currentWinningTeam = ""; const scoreTracker = new Map(); scoreTracker.set(currentWinningTeam, 0); // since comeptitions and results have same length, use for loop to go through both of the arrays // they are in order of results to comeptitionns // use hash map to keep track of eachTeams points // final loop to find the team with the higest points for (const index in competitions) { const result = results[index]; // 0 0 1 // console.log(result); // ["HTML", "C#"] C# > HTML const [homeTeam, awayTeam] = competitions[index]; // console.log(index); // #C, Python, Python const teamWhoWon = result === 0 ? awayTeam : homeTeam; console.log(teamWhoWon) updateScores(teamWhoWon, 3, scoreTracker) console.log(scoreTracker) } return currentWinningTeam; } function updateScores(teamWhoWon, points, scoreTracker) { if (!scoreTracker.has(teamWhoWon)) { scoreTracker.set(teamWhoWon, 0) } else { scoreTracker.set(teamWhoWon, ) } } console.log( tournamentWinner( [ ['HTML', '#C'], ['#C', 'Python'], ['Python', 'HTML'], ], [0, 0, 1] ) );

Tengo problemas para aumentar gradualmente los puntos del equipo en el mapa hash scoreTracker en mi función auxiliar updateScores(). No estoy muy familiarizado con los métodos de mapa y alguien puede mostrarme cómo puedo aumentar gradualmente los puntos de un equipo por puntos.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede obtener el recuento real con Map#get y, si es falso, como undefined , use cero en su lugar y agregue uno.

 m.set(team, (m.get(team) || 0) + 1) 

 const tournamentWinner = (competitions, results) => { return [...results.reduce((m, r, i) => (team => m.set(team, (m.get(team) || 0) + 1)) (competitions[i][+!r]), new Map)]; }; console.log(tournamentWinner([['HTML', '#C'], ['#C', 'Python'], ['Python', 'HTML']], [0, 0, 1]));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda