Leetcode每日一题2021/01/14

Leetcode每日一题2021/01/14_第1张图片
Leetcode每日一题2021/01/14_第2张图片

class Solution:
    def singleNonDuplicate(self, nums: List[int]) -> int:
        left, right = 0, len(nums)-1
        while(left < right):
            mid = left + (right - left)//2
            flag = (right-mid) % 2 == 0
            if(nums[mid] == nums[mid+1]):
                if(flag):
                    left = mid + 2
                else:
                    right = mid - 1
            elif(nums[mid] == nums[mid-1]):
                if(flag):
                    right = mid - 2
                else:
                    left = mid + 1
            else:
                return nums[mid]
        return nums[left]

3

你可能感兴趣的:(Leetcode,leetcode,算法)