go算法入门(数组去重)

这篇具有很好参考价值的文章主要介绍了go算法入门(数组去重)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

需要实现这样的函数:
对指定的数组进行分析,打印出某个元素出现的次数。 (提示:使用hash)
print_occur_times(my_array)
例如:
my_array = [1,2,3,3,3,4,4,5,5,5,5,5,5,8,9,9] => my_array = [1,2,3,4,5,8,9]

代码如下:

package main
import "fmt"
// 目的:数组去重
func deduplicated_array(arr []int) []int{
  // 创建一个整型key和布尔类型value的哈希表 
  hash := make(map[int]bool)
  // 创建一个空的整型数组
  result := []int{}
  // 遍历原始数组
  for _, value := range arr{
    // 如果哈希表(hash)中不存在该值,则加入结果数组和哈希表(hash)
    if _, ok := hash[value]; !ok{
      result = append(result, value)
      hash[value] = true
    }
  }
  // 返回去重后的数组
  return result
}
func main() {
  // 创建一个包含重复元素的整型数组
  array := []int{1,2,3,3,3,4,4,5,5,5,5,5,8,9,9}
  // 去重
  result := deduplicated_array(array)
  fmt.Println(result)
}

结果:文章来源地址https://www.toymoban.com/news/detail-406832.html

[1 2 3 4 5 8 9]

到了这里,关于go算法入门(数组去重)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Go版]算法通关村第三关青铜——不简单的数组增删改查

    在golang中,切片的底层就是数组,切片是对底层数组的引用,当传递一个切片给函数时,实际上是传递了切片的引用。因此,在函数内部修改切片的内容会影响原始切片。 先声明并初始化一个长度为当前切片长度+1的切片 首部添加:将其余全部向后移动一位,然后给首位赋值

    2024年02月13日
    浏览(36)
  • 【经典LeetCode算法题目专栏分类】【第6期】二分查找系列:x的平方根、有效完全平方数、搜索二位矩阵、寻找旋转排序数组最小值

    《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌ 更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍 感谢小伙伴 们点赞、关注! class   Solution :      def   mySqrt ( self ,  x :   int )   -   int :       

    2024年02月04日
    浏览(65)
  • Swift 对象数组去重

    使用 reduce 方法去重 使用 reduce 方法结合 contains 方法可以实现去重。reduce 方法用于将数组的元素进行累积计算,而 contains 方法用于检查元素是否已经存在于结果数组中。 在上面的代码中,我们为 SearchRecord 结构体添加了 Equatable 协议,并实现了相等性比较。然后,我们使用

    2024年02月15日
    浏览(34)
  • Python 对数组去重:

    使用 unique() 方法从 NumPy 数组中删除重复项 unique() 方法是 numpy 中的一个内置方法,它将一个数组作为输入并返回一个唯一的数组,即通过删除所有重复元素。为了删除重复项,我们将给定的 NumPy 数组传递给 unique() 方法,它将返回唯一数组。 从一维 NumPy 数组中删除重复元素

    2024年02月09日
    浏览(26)
  • JAVA数组去重方法

    拓展(HashSet去重原理): HashSet是一种基于哈希表实现的Set接口。它通过hashCode()方法来确定元素在集合中的存储位置,通过equals()方法来判断元素是否相同。 当向HashSet中添加元素时,HashSet会先计算元素的hashCode值,然后根据hashCode值将元素放入不同的桶(bucket)中。当多个元素

    2024年02月12日
    浏览(35)
  • 对List集合、数组去重

    还记得在2021我发布的第一篇博客就是关于数组的去重,从那一刻开始,命运的齿轮开始转动…… 扯远了哈哈哈,我重新写这篇文章只是想让去重方式更加严谨(ps:我才不会说是因为技术成长了,看不上之前写的了哈哈哈  依据Set集合的特性,使用set去重(最简洁高效)  使

    2024年02月14日
    浏览(43)
  • JavaScript数组去重的方式

    数组去重的意思就是去除数组中重复的元素,处理完后数组中所有的元素都是唯一的,本文介绍了在js中数组去重的5种方式,请往下看。 Set 对象 Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。 Set 中的特殊值 Set 对象存储的值总是唯一的,所以需要判

    2024年02月07日
    浏览(42)
  • Js:获取数组对象重复属性值和数组对象去重

    对象数组去重分为两类:根据某一属性去重,和去重完全相同对象(属性属性值都相同) 一.数组嵌套对象,根据对象某一属性去重 二、数组嵌套对象,去重完全相同对象(属性属性值都相同) 整理如下: 首先、循环数组,拿到对象的所有属性组成的数组; 其次、循环属性

    2024年01月21日
    浏览(53)
  • JS数组去重的12种方法

    Set 对象是 ES6 中新定义的数据结构,类似数组,它允许存储任何类型的唯一值,不管是原始值还是对象引用。 Array.from() 方法 就是将一个类数组对象或者可遍历对象转换成一个真正的数组 不考虑兼容性,这种去重的方式代码最少。这种方法无法去掉 {} 空对象,后面的高阶方

    2024年02月06日
    浏览(40)
  • ACM模式数组构建二叉树Go语言实现

    想输入一个数组,然后构造二叉树 例如数组为 [6, 2, 8, 0, 4, 7, 9, -1, -1, 3, 5] 对应的二叉树为: ACM模式数组构建二叉树 重点:如果父节点的数组下标是 i ,那么它的左孩子下标就是 i*2+1 ,右孩子下标就是 i*2+2 。 输出:

    2024年02月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包