Programa Golang que elimina duplicados mediante bucles anidados

Dada una array de tamaño n. Su tarea es eliminar los duplicados de la array.

Ejemplos:

Input : array: 1 2 1 2 1 3 2 
Output :1 2 3

Input :array: 10 24 5 10 24
Output :10 24 5

Usaremos dos bucles para resolver este problema. El primer bucle lo atravesaré desde 0 hasta la longitud de la array. El segundo bucle atravesará de 0 a i-1 . Este ciclo se usa para asegurarse de que el elemento en el índice i no haya venido antes de i . Si ese elemento ha venido antes, entonces salimos del segundo ciclo. justo después del segundo bucle, escribimos una condición if que verifica si j = = i . Si son iguales, significa que el elemento en el índice i no ha ocurrido antes. Entonces debemos agregar el elemento a la array de resultados.

// Golang Program that Removes
// Duplicates Using Nested Loops
package main
  
import "fmt"
  
func removeDup(a []int, n int) []int {
  
    // declaring an empty array
    result := []int{}
  
    // traversing the array
    // from 0 to length of array
    for i := 0; i < n; i++ {
  
        j := 0 // variable for next loop
  
        // loop to check if the current
        // element has come before or not
        for ; j < i; j++ {
  
            if a[j] == a[i] {
                // it means the element
                // has come before, so break
                break
            }
        }
  
        // it means that the element has not
        // come anytime, so append it in
        // the resultant array
        if j == i {
            result = append(result, a[i])
        }
  
    }
    return result
  
}
  
func main() {
  
    // declaring the array
    a := []int{1, 2, 1, 2, 1, 3, 2}
  
    // size of the array
    n := 7
  
    // calling the remove duplicates
    // function to get the answer
    result := removeDup(a, n)
  
    // printing the answer
    fmt.Println(result)
  
}

Producción:

[1 2 3]

Publicación traducida automáticamente

Artículo escrito por ManishKhetan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *