Given a non-empty array of integers nums
, every element appears twice except for one. Find that single one.
You must implement a solution with a linear runtime complexity and use only constant extra space.
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.
solution
Runtime: 36 ms, faster than 27.27% of C++ online submissions for Single Number.
Memory Usage: 17 MB, less than 49.56% of C++ online submissions for Single Number.
class Solution {
public:
int singleNumber(vector<int>& nums) {
int n;
if(nums.size()==1)
return nums[0];
sort(nums.begin(),nums.end());
for(int i=0;i<nums.size();i++)
{
if(nums[i]==nums[i+1])
{
i++;
}else
{
n=nums[i];
}
}
return n;
}
};
No comments:
Post a Comment