Go 程序:统计数组中的重复项

使用 For 循环编写一个 Go 程序来统计数组中的重复项。在这里,我们使用了嵌套的 for 循环,第一个 for 循环(for i = 0; i < dupsize; i++)迭代从 0 到 n 的数组项,内部的 for 循环(for j := i + 1; j < dupsize; j++)从 1(i+1)开始。对于每个 i 值,嵌套的 for 循环将从 i+1 迭代到 dupsize。

在其中,我们使用了 If 语句(if dupArr[i] == dupArr[j])来检查数组项是否与其他项相等。一旦找到重复的数组项,dupcount 将会增加,break 将会使 GC 从 for 循环中退出。

package main

import "fmt"

func main() {
    var dupsize, i int

    fmt.Print("Enter the Even Array Size = ")
    fmt.Scan(&dupsize)

    dupArr := make([]int, dupsize)

    fmt.Print("Enter the Even Array Items  = ")
    for i = 0; i < dupsize; i++ {
        fmt.Scan(&dupArr[i])
    }
    dupcount := 0
    for i = 0; i < dupsize; i++ {
        for j := i + 1; j < dupsize; j++ {
            if dupArr[i] == dupArr[j] {
                dupcount++
                break
            }
        }
    }
    fmt.Println("\nThe Total Number of Duplicates in dupArr = ", dupcount)
}
Enter the Even Array Size = 5
Enter the Even Array Items  = 10 20 30 20 10

The Total Number of Duplicates in dupArr =  2

Golang 程序:使用函数统计数组中的重复项。

在此 Go 程序中,我们创建了一个单独的(func countDuplicates(dupArr []int, dupsize int))函数,该函数返回重复数组项的计数。

package main

import "fmt"

var dupcount, i int

func countDuplicates(dupArr []int, dupsize int) int {
    dupcount = 0
    for i = 0; i < dupsize; i++ {
        for j := i + 1; j < dupsize; j++ {
            if dupArr[i] == dupArr[j] {
                dupcount++
                break
            }
        }
    }
    return dupcount
}
func main() {
    var dupsize int

    fmt.Print("Enter the Even Array Size = ")
    fmt.Scan(&dupsize)

    dupArr := make([]int, dupsize)

    fmt.Print("Enter the Even Array Items  = ")
    for i = 0; i < dupsize; i++ {
        fmt.Scan(&dupArr[i])
    }
    dupcount = countDuplicates(dupArr, dupsize)
    fmt.Println("\nThe Total Number of Duplicates in dupArr = ", dupcount)
}
Go Program to Count Duplicates in an Array