Golang 使用嵌套循环删除重复项

Golang 使用嵌套循环删除重复项

给定大小为n的数组。你的任务是从数组中删除重复项。

例子:

输入 : 数组:1 2 1 2 1 3 2
输出 : 1 2 3

输入 : 数组:10 24 5 10 24
输出 : 10 24 5

我们将使用两个循环来解决这个问题。第一个循环 i 将从0到数组长度遍历。第二个循环将从0到 i-1 遍历。这个循环被用来确保索引处的元素 i 没有在之前出现过。如果该元素之前出现过,则我们会在第二个循环后执行一个if条件。它检查j = = i。如果它们相等,说明索引处的元素 i 以前没有出现过。所以我们必须将元素附加到结果数组中。

// 使用嵌套循环删除重复项的
// Golang程序
package main
  
import "fmt"
  
func removeDup(a []int, n int) []int {
  
    // 声明一个空数组
    result := []int{}
  
    // 遍历数组
    // 从0到长度
    for i := 0; i < n; i++ {
  
        j := 0 // 下一个循环的变量  
  
        // 循环检查当前元素是否出现过
        for ; j < i; j++ {
  
            if a[j] == a[i] {
                // 它意味着该元素
                // 之前出现过,所以结束
                break
            }
        }
  
        // 它意味着元素尚未
        // 出现,将它附加到
        // 结果数组中
        if j == i {
            result = append(result, a[i])
        }
  
    }
    return result
  
}
  
func main() {
  
    // 声明数组
    a := []int{1, 2, 1, 2, 1, 3, 2}
  
    // 数组大小
    n := 7
  
    // 调用删除重复项
    // 函数以获取答案
    result := removeDup(a, n)
  
    // 打印答案
    fmt.Println(result)
  
} 
Go

输出:

[1 2 3]
Go

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册