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)
}
输出:
[1 2 3]