Given a sorted array consisting of only integers where every element appears twice except for one element which appears once. Find this single element that appears only once.
Example 1:
Input: [1,1,2,3,3,4,4,8,8] Output: 2
Example 2:
Input: [3,3,7,7,10,11,11] Output: 10
Note:Your solution should run in O(log n) time and O(1) space.
我的代码片:
class Solution {
public:
int singleNonDuplicate(vector<int>& nums) {
for(int i=0; i<nums.size(); i++)
{
if(nums.at(i)!=(i==0?nums.at(i+1):nums.at(i-1))&&nums.at(i)!=(i==nums.size()-1?nums.at(i-1):nums.at(i+1)))
{
return nums.at(i);
}
}
}
};
5分钟写完第一次跑就过完了test case,很开心。