Go语言数组、切片去重
方法一、通过map键的唯一性去重(推荐)
//通过map键的唯一性去重
func RemoveRepeatedElement(s []int) []int {result := make([]int, 0)m := make(map[int]bool) //map的值不重要for _, v := range s {if _, ok := m[v]; !ok {result = append(result, v)m[v] = true}}return result
}
方法一、通过map键的唯一性去重
定义一个新切片(数组),存放原数组的第一个元素,然后将新切片(数组)与原切片
(数组)的元素一一对比,如果不同则存放在新切片(数组)中。
func RemoveRepeatedElement(arr []int) (newArr []int) {newArr = make([]int, 0)for i := 0; i < len(arr); i++ {repeat := falsefor j := i + 1; j < len(arr); j++ {if arr[i] == arr[j] {repeat = truebreak}}if !repeat {newArr = append(newArr, arr[i])}}return
}
总结说明
经过测试比较大的数组,第一种通过map键的唯一性去重的效率要高于第二种的。
Go语言数组、切片去重相关推荐
- 数组去重c语言,C语言数组去重
数组排序去重: 1 #include 2 #include 3 #include 4 using namespace std; 5 bool cmp( int a, int b) 6 { 7 retu ...
- c语言 数组二合一,C语言合并两个数组并去重
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 给定含有m.n个元素的两个有序(非降序)整型数组a和b. 合并两个数组中的元素到整型数组c ...
- go语言查询某个值是否在数组中_Go语言数组详解
数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成.因为数组的长度是固定的,所以在Go语言中很少直接使用数组. 和数组对应的类型是 Slice(切片),Slice 是可以增 ...
- [翻译] NumSharp的数组切片功能 [:]
原文地址:https://medium.com/scisharp/slicing-in-numsharp-e56c46826630 翻译初稿(英文水平有限,请多包涵): 由于Numsharp新推出了数 ...
- Go的数组切片 Python的列表
Go的数组切片 & Python的列表 Go语言既具有C语言(静态语言)的特点,也具有Python语言(动态语言)的特点.比如,Go的数组切片与Python的列表操作十分类似.甚至有人认为Go ...
- Go程序:演示数组切片用法
在Go语言中,数组的长度在定义之后无法再次修改:数组是值类型,每次传递都将产生一份副本.显然这种数据结构无法完全满足开发者的真实需求,但是Go语言提供了数组切片(slice)这个非常酷的功能来弥补数组 ...
- 为什么大厂都在用 GO 语言?读透 GO 语言的切片
作者 | 马超 责编 | 夕颜 封图 | CSDN下载自视觉中国 出品 | CSDN(ID:CSDNnews) 今年3月初,腾讯发布了<腾讯研发大数据报告>,笔者发现GO语言的使用在鹅厂已 ...
- numpy数组切片:一维/二维/数组
文章目录 numpy数组切片操作 一维数组(冒号:) 1.一个参数:a[i] 2.两个参数:b=a[i:j] 3.三个参数:格式b = a[i:j:s] 4.例子 二维数组(逗号,) 取元素 X[n0 ...
- C语言数组测试函数,(完整word版)C语言数组与函数阶段测试题答案---(20200807070313)(8页)-原创力文档...
} } C语言数组与函数阶段测试题答案 一.选择题( 18*2=36 分) 1. 在定义" int a[5][6]; "后,第 11个元素是 [ C ] A.a[2][5] B . ...
- c语言数组中的字母可以相等吗,C语言数组比较
C语言数组比较教程 在 要比较两个 C 语言的数组是否相等,我们只有使用 案例 比较两个数组是否相等 通过循环遍历数组来比较数组 #include int main(){ printf("嗨 ...
最新文章
- 少一些计较多_新的一年:少一分计较,多一分宽容
- python语音在线编辑-Python:语音处理,实现在线朗读RFC文档或本地文本文件
- Linux初学 - SSH
- lamber表达式sql_lambda表达式转换sql
- 学习Mysql命令行
- zhlan--Python中常见的几种格式化输出
- 12. OD-XOFTSPY监控系统软件,通过windows API进行破解(双重验证,聪明的加密师)
- 无浮动IP的虚机出公网流量路径
- 生产中k8s适合mysql_在K8S集群中构建复杂的MySQL单实例数据库
- WSS 3.0部署备忘 六
- C# WinForm开发系列
- iPhone客户端开发笔记(二)
- python清屏命令-python清屏命令
- SystemTap----利用stap命令来查找内核函数定义
- mysql的索引是什么数据结构_mysql索引的数据结构是什么
- 【ARM】Linaro Security module
- 最新版gg服务器框架安装器,GG服务框架安装器
- 8位数:数字、小写字母字典思考
- Linux(一): 磁盘分区
- 技能梳理7@stm32+OLED+flash掉电保存+按键
热门文章
- 15年计算机专业专升本,2015年江苏专转本各院校各专业分数线
- 圣诞节已经来到了,圣诞树代码+程序分享给大家
- 【论文简述及翻译】A ConvNet for the 2020s(CVPR 2022)
- Quarts 执行定时任务失败(.job.entity.ScheduleJobEntity cannot be cast to com.)
- 常见的HTTTP状态码
- 被说烂了的Java垃圾回收算法,我带来了最“清新脱俗”的详细图解
- B1088 三人行(python)
- YUV格式介绍与转换
- 北京十大情人分手圣地
- 情人节特献:有心之函数必然就有分手函数