Su código encuentra un problema de sobrescritura de variables porque está creando nuevos sectores (rutaA y rutaB) agregando elementos a la misma matriz de respaldo (ruta) dentro de un bucle.
Antecedentes de los sectores en Go:
Problema con su código:
En su código, está creando dos nuevos sectores, rutaA y rutaB, usando la función agregar:
pathA := append(route, nextA) pathB := append(route, nextB)
Esto es lo que sucede:
Solución:
Para evitar esta sobrescritura, debes asegúrese de que la rutaA y la rutaB tengan matrices de respaldo únicas. Puedes lograr esto creando manualmente un nuevo segmento para uno de ellos usando make y copy:
newRoute := make([]int, len(route), (cap(route) 1)*2) copy(newRoute, route) if i % 2 == 0 { pathA := append(newRoute, nextA) } else { pathB := append(newRoute, nextB) }
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3