给定一个大小为 n 的数组。您的任务是从数组中删除重复项。
例子:
Input : array: 1 2 1 2 1 3 2
Output :1 2 3
Input :array: 10 24 5 10 24
Output :10 24 5
我们将使用两个循环来解决这个问题。第一个循环我将从 0 遍历到数组的长度。第二个循环将从 0 遍历到i-1 。此循环用于确保索引i处的元素没有出现在i之前。如果该元素之前出现过,那么我们就会退出第二个循环。在第二个循环之后,我们编写一个 if 条件来检查是否j == i 。如果它们相等,则表示索引i处的元素之前没有出现过。所以我们必须将元素追加到结果数组中。
// 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)
}
输出:
[1 2 3]