给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
C
int singleNumber(int* nums, int numsSize) {
int f=0,e=numsSize-1;
for(int i=1;i<=e;i++)
{
if(nums[f]==nums[f+i])
{
nums[f+i]=nums[e];
++f;
--e;
if(f==e)
break;
i=0;
continue;
}
if((f+i)==e)
break;
}
return nums[f];
}
---------------------
作者:yangsong95
来源:CSDN
原文:https://blog.csdn.net/yangsong95/article/details/82998532
版权声明:本文为博主原创文章,转载请附上博文链接!
|
|