数组中数字出现的次数 python
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。
示例 1:
输入:nums = [4,1,4,6]
输出:[1,6] 或 [6,1]
本题用到异或的特点a^a=0, a^0=1
解题思路:
1.将两个不同的数划分开。根据题目描述这个数组中两个数字不同,我们利用异或操作的特点先将数组自异或一遍,以4146为例,0100 0001 0100 0110就会得到一个数0111。
2.自己异或一遍最右一位第一个1可以
原创
2020-05-13 10:58:13 ·
1227 阅读 ·
0 评论