您的位置:首页 > 其它

[LeedCode OJ]#136 Single Number

2015-08-24 16:47 134 查看
【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】





题目链接:https://leetcode.com/problems/single-number/

题意:

找出数组中只出现过一次的数,要求在线性时间内解决且不使用额外的内存

思路:

我们可以通过排序实现,只要这个位置的数与前一位还有后一位的数都不相等,那么这个数就是单一的

class Solution
{
public:
    int singleNumber(vector<int>& nums)
    {
        int len = nums.size();
        int i,j;
        sort(nums.begin(),nums.end());
        if(nums[0]!=nums[1])
            return nums[0];
        for(i = 1; i<len; i++)
        {
            if(nums[i]!=nums[i-1]&&nums[i]!=nums[i+1])
                return nums[i];
        }
        return nums[len-1];
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: