剑指 Offer 53 - II. 0~n-1中缺失的数字
题目描述:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
解题思路:找到相邻数字差2的位置就知道差谁啦!
要注意特殊情况:1.少0
2.少最后一个
这两情况只需要判断nums[len(nums)-1]是否等于len(nums)-1,等于则说明少最后一个,反之少0
class Solution:
def missingNumber(self, nums: List[int]) -> int:
for i in range(0,len(nums) - 1):
if nums[i+1]-nums[i] == 2:
k = nums[i+1] - 1
break
else:
if nums[len(nums)-1] == len(nums) - 1:
k = nums[len(nums)-1] + 1
else:
k = 0
return k