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-09-19环境变量处理课程:新手入门教程
- 2024-09-19接口模块封装课程:新手入门指南
- 2024-09-19请求动作封装课程:新手入门教程
- 2024-09-19拖拽表格课程:新手入门指南
- 2024-09-19页面权限课程:新手必学的权限管理入门教程
- 2024-09-19如何正确主动登出课程:新手必读教程
- 2024-09-19Element-Plus课程:新手入门与初级教程
- 2024-09-19Token处理入门教程:新手必看指南
- 2024-09-19如何应对被动登出课程的情况:新手必读指南
- 2024-09-19打包优化课程:初学者的必备指南