剑指Offer 53 - II. 【二分法】(有序数组)【0 ~ n-1】中缺失的 1 个数字(Easy)
LeetCode 448. 找到所有数组中消失的数字(Easy)/ 41. 缺失的第一个正数(Hard)
【题目链接】题解
- n-1 中缺失的数字(二分法,清晰图解)
思路
classSolution(object):### 0914 分类讨论(32 ms,13.3 MB)defmissingNumber(self,nums):""" :type nums: List[int] :rtype: int """iflen(nums)==1:return1ifnums[0]==0else0ifnums[0]!=0:return0ifnums[-1]==len(nums)-1:returnlen(nums)foriinrange(len(nums)-1):ifnums[i+1]-nums[i]!=1:return(nums[i+1]+nums[i])/2### 0914 二分法(16 ms,13.3 MB)defmissingNumber(self,nums):i,j=0,len(nums)-1whilei<=j:m=(i+j)//2ifnums[m]==m:i=m+1else:j=m-1returni