链接: https://leetcode-cn.com/problems/single-element-in-a-sorted-array/description/
题意
给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。
要求解法在 O(log n)时间复杂度和 O(1)空间复杂度中运行。
解法
找出整个数组中的单一元素,如果元素排列是乱序的,可以用异或的做法
但是那样的时间复杂度是O(n)
由于序列是有序的,所以可以用二分的做法来做
根据当前位置的奇偶可以进行判断要找的数是在之前还是之后
瞎写了两个边界条件居然过了
代码
1 | class Solution { |