链接
https://leetcode-cn.com/problems/add-strings/description/
要求
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。
输入: [3,0,1]
输出: 2
输入: [9,6,4,2,3,5,7,0,1]
输出: 8
思路
数字只缺一位,考虑到缺最后一位的情况range范围设为(0, max(nums) + 2)
之后用set取差集,set(nums_all) - set(nums)
如果列表中只有一个数,则正常输出,如果有两个的话优先输出较小那个数。
代码
执行用时:44 ms
class Solution:
def missingNumber(self, nums):
nums_all = range(0, max(nums) + 2)
Number = set(nums_all) - set(nums)
return sorted(list(Number))[0]