golang 数组组合成最小的整数_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 数组组合成最小的整数_Redis之整数集合底层实现
1.整数集合简述 整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现.例如当我们创建只包含五个元素的集合键,并且集 ...
- golang 数组组合成最小的整数_整数数组拼成一个最小或最大的数
其实这道题的本质是一个排序问题.不管求最大还是最小, 我们都可以使用排序算法解决. 普通排序是升序还是降序,主要看交互比较代码,这里求最小值相当于一个升级, 求最大值相当于一个降序. 这道题的特殊就在 ...
- 7-88 组合成最小的三位数
7-88 组合成最小的三位数 输入一个三位数的正整数,将数字位置重新排列,组成一个尽可小的三位数. 输入格式: 输入一个三位的正整数. 输出格式: 输出组合之后最小的三位值正整数. 输入样例: 315 ...
- 把数组排列成最小的数(详解)
题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 题目解析: ...
- java 16进制数组 字符串_byte数组转换成16进制字符串和字符数组的方法
byte数组转换成16进制字符串String: public class CommonUtil { /** * byte数组转换成16进制字符串 * @param src * @return */ p ...
- char数组转换成字符串_将字符串转换为char数组java –将字符串转换为char
char数组转换成字符串 Sometimes we have to convert String to the character array in java programs or convert ...
- java的byte[]数组转成字符串并且再转回byte[]数组
byte[] bytes=new byte[] {-58,-85,55,7}; Arrays.toString(bytes) /*** 解码byte[]数组的字符串变成byte[]* @param b ...
- go在方法中修改结构体的值_golang修改结构体中的切片值方法
golang修改结构体中的切片值方法,结构,切片,站长站,文章,相关文章 golang修改结构体中的切片值方法 易采站长站,站长之家为您整理了golang修改结构体中的切片值方法的相关内容. gola ...
- java字节数组转换成16进制_Java 将字节数组转化为16进制的多种方案
很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...
最新文章
- C#高级编程----错误和异常的总结
- 关于IT人职业道德的反思(转)
- 排列组合 概率 贝叶斯理解
- jcifs java_Java 使用JCIFS访问网络文件共享的工具类
- 利用线程下载网页中的程序并另存到本地
- 前后端分离 跨域问题解决
- Android钢琴滑动代码,android 钢琴界面实现
- iOS:Xcode8以下真机测试iOS10.0和iOS10.1配置包
- CSS 背景尺寸 background-size属性
- mysql 书名_深入理解MySQL
- 巧替换windows 7中的宋体 simsun.ttc
- [论文总结] 深度学习在农业领域应用论文笔记9
- 如何写好一篇科技论文?
- 英文字体识别在线识别_如何查找和识别字体
- 访问页面出错:The requested URL / was not found on this server. 网站打开出现404
- 密码学与加密算法详解
- Oracle 锁表查询
- MOBA类和“吃鸡”游戏为什么对网络延迟要求高?
- HBase的regionServer
- Class 2 基于ECS快速搭建Docker环境
热门文章
- c语言水仙花数(输入判断),用c语言判断一个数是否为水仙花数?
- 预登录握手失败_英雄联盟手游登录问题汇总
- 学计算机就业靠谱吗,2018年计算机专业就业怎么样?
- python queue模块安装_Python -- Queue模块
- SpringBoot 使用 Caffeine 本地缓存
- Hadoop集群安装部署_伪分布式集群安装_01
- TortoiseGit 推送本地仓库变动文件至远程仓库_入门试炼_06
- flowable实战(十五)关于流程设计器 bpmn.js与vue的整合
- rocketmq原理_彻底看懂RocketMQ事务实现原理
- 路由器上的usb接口有什么用_工业主板上有多少种USB接口,红色的USB接口代表什么...