[LeedCode OJ]#136 Single Number

来源:互联网 发布:2015淘宝刷钻价格表 编辑:程序博客网 时间:2024/05/31 05:27
【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱: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];    }};


0 0