博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-136. 只出现一次的数字(Goland实现)
阅读量:1996 次
发布时间:2019-04-27

本文共 772 字,大约阅读时间需要 2 分钟。

题号:

        给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

 示例 1:

输入: [2,2,1]输出: 1

示例 2:

输入: [4,1,2,1,2]输出: 4

 解题思路:

1、map法:遍历数组存map,遇相同元素则从map中删除,最后map输入即为解题答案

2、异或法:异或运算 相同数字异或为0【如下:debug演示】

//map法func singleNumber(nums []int) int {	var m = make(map[int]int)	for i := 0; i < len(nums); i++ {		_, ok := m[nums[i]]		if ok {			//删除重复元素			//delete(m, nums[i])		} else {			//存map 			m[nums[i]] = i		}	}	for k := range m {		return k	}	return -1}
//异或运算  相同数字异或为0func singleNumber(nums []int) int {	res := 0	for _, i := range nums {		res = res ^ i	}	return res}

 如下演示:


 往期回顾:

【1】

【2】

【3】


❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ 

❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~

❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】

❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)

转载地址:http://jigvf.baihongyu.com/

你可能感兴趣的文章
ffmpeg开发中的问题(九)
查看>>
leetcode-longest common prefix
查看>>
tinyhttpd源码学习1
查看>>
九度题目1015:还是A+B
查看>>
Mongoose API Reference
查看>>
hdu2568
查看>>
九度题目1505:两个链表的第一个公共结点
查看>>
linux下intel 82579LM 网卡驱动安装
查看>>
ffmpeg开发中的问题(十二) 一些小点
查看>>
python urllib
查看>>
APUE初学 环境搭建
查看>>
Binary Tree Level Order Traversal
查看>>
题目1511:从尾到头打印链表
查看>>
SYSTEM V IPC 基本概念
查看>>
Elasticsearch 备份数据到 AWS S3
查看>>
使用rancher配置kong和konga
查看>>
变量字符串${var%%.*}
查看>>
Kong docker部署及简单使用
查看>>
jstat命令查看jvm的GC情况
查看>>
zabbix自动清理30天前的数据
查看>>