A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 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
版权声明:本文为博主原创文章,转载请附上博文链接!

3 个回复

正序浏览
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马