打卡第三十一天
1道简单题+2道中等题

题目:

思路:二分

代码:
class Solution {
public:int singleNonDuplicate(vector<int>& nums) {int left = -1, right = nums.size() / 2;// left从-1开始,right从数组长度的一半开始while (left + 1 < right) {int mid = left + (right - left) / 2;(nums[mid * 2] != nums[mid * 2 + 1] ? right : left) = mid;// 如果nums[2*mid] != nums[2*mid+1],说明单个元素在左侧或当前位置,否则单个元素在右侧}return nums[right * 2];// 返回找到的单个元素}
};
耗时≈一小时 二分题单暂时结束,明天开新题单