为了账号安全,请及时绑定邮箱和手机立即绑定

如何在数组 Golang 中找到不重复的项目

如何在数组 Golang 中找到不重复的项目

Go
白衣染霜花 2022-06-01 18:27:16
我有一个输入整数数组,它只有一个非重复数字,如 {1,1,3,2,3}。输出应显示非重复元素,即 2。func main() {    arr := make([]string, 0)    scanner := bufio.NewScanner(os.Stdin)    for {        scanner.Scan()        text := scanner.Text()        if len(text) != 0 {            arr = append(arr, text)        } else {            break        }    }    uniq := Unique(arr)    fmt.Println(uniq)}func Unique(arr []string) int {    var uni int    for i := 0; i < len(arr); i++ {        for j := i + 1; j < len(arr); j++ {            if(arr[i] != arr[j]){                uni = i            }        }    }    return uni}
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

1.,它更像是一个数学问题。
2.,您始终应该将数组中存在的所有唯一整数作为@whitespace 提到的。但它更像是O(2n)而不是O(n^2)。您应该遍历原始数组,然后遍历长度为 <= n 的映射(在最坏的情况下n,您的数组中有唯一项)。我在这里
创建了一个 go-playground 示例。

查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信