一组数据[1, 2, 1, 3, 2, 5],只有两个数是不重复的,其余数都出现了两次,求不重复的两个值
扩展知识:
异或运算符”∧”,它的规则是若参加运算的两个二进位同号,则结果为0(假)异号则为1(真) 即 0∧0=0,0∧1=1, 1^0=1,1∧1=0
解体思路:
如果其中只有一个数字不重复,很好解决,直接来一轮异或,得到的值就是不重复的值
先将数组所有元素进行一次异或运算,可以得到没有重复的那两个值。。。。
打印:
0b110
5
n=2
a=5,b=3
一组数据[1, 2, 1, 3, 2, 5],只有两个数是不重复的,其余数都出现了两次,求不重复的两个值
扩展知识:
异或运算符”∧”,它的规则是若参加运算的两个二进位同号,则结果为0(假)异号则为1(真) 即 0∧0=0,0∧1=1, 1^0=1,1∧1=0
解体思路:
如果其中只有一个数字不重复,很好解决,直接来一轮异或,得到的值就是不重复的值
先将数组所有元素进行一次异或运算,可以得到没有重复的那两个值。。。。
打印:
0b110
5
n=2
a=5,b=3
LeetCode(剑指 Offer)- 56 - I. 数组中数字出现的次数
算法标签:位运算题目简叙思路利用异或操作符代码class Solution {public:
LeetCode(剑指 Offer)- 56 - II. 数组中数字出现的次数 II
面试题40:数组中数字出现的次数
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M