[leetcode]136. Single Number
Analysis
新的一周开始啦~—— [坚持吖~]
Given a non-empty array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
给一个数组,里面只有一个数只出现了一次,其他数字都出现了两次,输出这个只出现一次的数字。他要求时间复杂度是线性的,即O(N).
Implement
class Solution {
public:
int singleNumber(vector<int>& nums) {
int len = nums.size();
sort(nums.begin(), nums.end());
int index = 0;
int res;
while(index<len){
if(nums[index]!=nums[index+1]){
res = nums[index];
break;
}
else{
index += 2;
}
}
return res;
}
};