栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

golang将数组重复元素放在数组后面

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

golang将数组重复元素放在数组后面

  1. 使用map. 包含重复元素个数
	s := []int{9, 8, 9, 1, 3, 2, 3, 1, 5, 2, 1, 1}
	time1 := time.Now().UnixNano()
	s2 := make([]int, 0)
	m := make(map[int]int)
	for i, v := range s {
		if _, ok := m[v]; ok {
			s2 = append(s2, v)
		}
		m[v] = i
	}
	//fmt.Println(len(m), m, len(s)-len(m))
	s1 := make([]int, 0)
	for k := range m {
		s1 = append(s1, k)
	}
	s1 = append(s1, s2...)
	fmt.Println(s1, len(s)-len(m), time.Now().UnixNano()-time1)
  1. 使用中间变量.
	n := 0
	p := 0
	for i := 0; i < len(s); i++ {
		for j := i + 1; j < len(s); j++ {
			if s[i] == s[j] {
				n = n + 1
				p = s[j]
				//删除重复元素
				s = append(s[:j], s[j+1:]...)
				//追加到末尾
				s = append(s, p)
			}
		}
	}
	fmt.Println(s, n, time.Now().UnixNano()-time1)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/908168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号