136.只出现一次的数字
2021/12/31 23:37:07
本文主要是介绍136.只出现一次的数字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.Go
方法1:哈希
func singleNumber(nums []int) int { dic:=make(map[int]int) for _,v:=range nums{ dic[v]++ } for k,v:=range dic{ if v==1{ return k } } return 0 }
方法2:异或 这方法仅使用其他数出现偶数次 只有一个数出现奇数次
异或性质:
1.任何数和0做异或运算,结果任然是这个数 :a^0=a
2.任何书与自身做异或运算,结果是0 :a^a=0
3.异或满足交换律和结合律:a^b=b^a a^(b^c)=(a^b)^c
func singleNumber(nums []int) int { single := 0 for _, num := range nums { single ^= num } return single }
2.C++
方法1:哈希
class Solution { public: //哈希 int singleNumber(vector<int>& nums) { unordered_map<int,int>mm; for (int num:nums){ mm[num]++; } for (auto m:mm){ if (m.second==1){ return m.first; } } return 0; } };
方法2:异或
class Solution { public: int singleNumber(vector<int>& nums) { int ans=0;//必须赋初值为0 for (int num:nums){ ans^=num; } return ans; } };
这篇关于136.只出现一次的数字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南