540. Single Element in a Sorted Array(有序数组的 Single Element)(leetcode)
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
分析:
这道题用二分法用的太妙了。
思路:这道题有五种情况。分别是
mid=奇数:1 1 2 3 3 4 4
1 1 2 2 3 3 4
mid=偶数:1 1 2 2 3 4 4 5 5
1 1 2 3 3 4 4 5 5
1 1 2 2 3 3 4 4 5
mid=奇数时,mid不是的单独的那个,为了避免判断麻烦,将它向偶数时靠拢。
苟有恒,何必三更眠五更起;最无益,莫过一日暴十日寒。