Given a non-empty array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
Example 1:
Input: [2,2,1]
Output: 1
Example 2:
Input: [4,1,2,1,2]
Output: 4
Solution:
class Solution {
public int singleNumber(int[] nums) {
int len = nums.length;
int xor = nums[0];
for(int i = 1; i < len; i++) {
xor ^= nums[i];
}
return xor;
}
}
本文介绍了一种在整数数组中找出唯一出现一次元素的算法,该算法具备线性时间复杂度且几乎不使用额外内存。通过异或运算实现,适用于所有整数重复两次的情况。示例包括输入数组[2,2,1]输出1,输入数组[4,1,2,1,2]输出4。
683

被折叠的 条评论
为什么被折叠?



