Single Number

Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.

Follow up: Could you implement a solution with a linear runtime complexity and without using extra memory?

Example 1:

Input: nums = [2,2,1]
Output: 1

Example 2:

Input: nums = [4,1,2,1,2]
Output: 4

Example 3:

Input: nums = [1]
Output: 1

Constraints:

  • 1 <= nums.length <= 3 * 104

  • -3 * 104 <= nums[i] <= 3 * 104

  • Each element in the array appears twice except for one element which appears only once.

Solutions

🧠 Cpp

class Solution {
public:
    int singleNumber(vector<int>& nums)
    {
        for(int i=0; i < nums.size(); ++i)
        {
            for(int j=0; ; ++j)
                if(nums[i] == nums[j] && i != j)
                    break;
                else if (j == nums.size()-1)
                    return nums[i]; 
        }

        return 0;
    }
};

Last updated