LeetCode 剑指 Offer II 070. 排序数组中只出现一次的数字
题目描述
给定一个只包含整数的有序数组 nums ,每个元素都会出现两次,唯有一个数只会出现一次,请找出这个唯一的数字。
示例 1:
输入: nums = [1,1,2,3,3,4,4,8,8]
输出: 2
来源:力扣(LeetCode)
链接:
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
LeetCode 剑指 Offer II 070. 排序数组中只出现一次的数字
提示:
1 <= nums.length <= 105
0 <= nums[i] <= 105
一、解题关键词
有序数组
二、解题报告
1.思路分析
2.时间复杂度
3.代码示例
class Solution {
public int singleNonDuplicate(int[] nums) {
int len = nums.length;
int low = 0,high = len - 1;
while(low < high){
int mid = low + (high - low) / 2;
int num = mid ^ 1;
if(nums[mid] == nums[mid ^ 1]){
low = mid + 1;
}else{
high = mid;
}
}
return nums[low];
}
}
2.知识点