golang数组-----寻找数组中缺失的整数方法

 更新时间:2020年12月19日 15:53:55   作者:疯狂的鸭血  
这篇文章主要介绍了golang数组-----寻找数组中缺失的整数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

问题:由n-1个整数组成的未排序数组,元素都是1~n的不同整数,找出其中缺失的整数

方法一:

思路:是原数组的和 减去 丢失元素后的数组的和,就得到丢失的元素了

代码如下:

package main
import (
	"errors"
	"fmt"
)
func getMissingElement(arr []int) int {
	var sumA, sumB int
	if arr == nil || len(arr) <= 0 {
		errors.New("空数组")
	}
	for k, v := range arr {
		sumA += v
		sumB += k
	}
	sumB = sumB + len(arr)*2 + 1
	return sumB - sumA
}
func main() {
	var arr []int
	arr = []int{1, 3, 2, 6, 5, 7, 8}
	fmt.Println(getMissingElement(arr))
}

结果:4

补充:golang菜鸟常见的坑----golang切片与数组

切片与数组的区别:

数组(array:=[len]int{})一旦声明定义,便会有固定的长度(len),固定的容量(cap),且数组不能修改长度。

切片(slice:=[]int{})定义之后,长度(len)、容量(cap)可以不固定!

如下图所示:slice s再声明之后还可以追加元素。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • golang协程池模拟实现群发邮件功能

    golang协程池模拟实现群发邮件功能

    这篇文章主要介绍了golang协程池模拟实现群发邮件功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Go语言实现lru淘汰策略和超时过期

    Go语言实现lru淘汰策略和超时过期

    缓存的大小是有限的,当添加数据发现剩余缓存不够时,需要淘汰缓存中的部分数据,本文主要介绍了Go语言实现lru淘汰策略和超时过期,感兴趣的可以了解一下
    2024-02-02
  • Golang 之区分类型别名与类型定义的方法

    Golang 之区分类型别名与类型定义的方法

    这篇文章主要介绍了Golang 之区分类型别名与类型定义的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 学会提升Go语言编码效率技巧拒绝加班!

    学会提升Go语言编码效率技巧拒绝加班!

    这篇文章主要为大家介绍了Go语言编码效率提升技巧详解,学会了从此拒绝加班,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 关于Go你不得不知道的一些实用小技巧

    关于Go你不得不知道的一些实用小技巧

    开发语言上Go成为高并发业务开发的主流语言,再加上云原生技术底座的驱动,Go语言风光无限,下面这篇文章主要给大家介绍了关于Go你不得不知道的一些实用小技巧,需要的朋友可以参考下
    2022-11-11
  • Golang使用bcrypt实现密码加密和校验的操作代码

    Golang使用bcrypt实现密码加密和校验的操作代码

    bcrypt可以用于数据库中的用户密码保存,相比md5而言更加的安全可靠,这篇文章主要介绍了Golang使用bcrypt实现密码加密和校验的操作代码,需要的朋友可以参考下
    2024-05-05
  • Go语言struct类型介绍

    Go语言struct类型介绍

    这篇文章主要介绍了Go语言struct类型介绍,本文讲解了struct的2种声明方式,struct的匿名字段等内容,需要的朋友可以参考下
    2015-01-01
  • Golang中时间戳与时区转换的方法详解

    Golang中时间戳与时区转换的方法详解

    时间是我们生活的基石,而在计算机科学中,时间处理显得尤为重要,尤其是当你在处理分布式系统、跨时区应用和全球服务时,时间和时区的管理变得不可或缺,在这篇文章中,我们将深入探讨Golang中的时间戳与时区转换,需要的朋友可以参考下
    2024-06-06
  • 一文带你了解Go语言中的匿名函数

    一文带你了解Go语言中的匿名函数

    无论是在Go语言还是其他编程语言中,匿名函数都扮演着重要的角色,本文将详细介绍Go语言中匿名函数的概念和使用方法,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • go语言beego框架jwt身份认证实现示例

    go语言beego框架jwt身份认证实现示例

    这篇文章主要为大家介绍了go语言beego框架jwt身份认证实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04

最新评论