Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 1.76 KB

File metadata and controls

65 lines (46 loc) · 1.76 KB

540. 有序数组中的单一元素

给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。

请你找出并返回只出现一次的那个数。

你设计的解决方案必须满足 \$O(log n)\$ 时间复杂度和 \$O(1)\$ 空间复杂度。

示例 1:

输入: nums = [1,1,2,3,3,4,4,8,8]
输出: 2

示例 2:

输入: nums =  [3,3,7,7,10,11,11]
输出: 10

提示:

  • 1 <= nums.length <= 105

  • 0 <= nums[i] <= 105

思路分析

二分查找:在 mid 两侧,有单次出现数字的一侧长度是奇数,另外一侧是偶数,通过这个判断,向单次数字靠拢。

看题解,有更简洁的写法。

一刷
link:{sourcedir}/_0540_SingleElementInASortedArray.java[role=include]