您的位置:首页 > 编程语言 > Python开发

LeetCode--Missing Number(查找丢失的整数)Python

2017-12-04 14:22 399 查看
题目:

给定一个长度为n的数组,包含从0-n的整数,找到其中丢失的整数。如给定[0,1,3]返回2。要求O(n)复杂度,且只能使用常量个额外空间。

解题思路:

用负数来表示该数对用位置已被检索。即对数组进行遍历,将下标为当前整数的数字取负。这样既能保存原数组的值,也可以保存该数是否被包含的信息。

代码(Python):

class Solution(object):
def missingNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
flag = 0
for i in range(len(nums)):
if abs(nums[i])>=len(nums):
flag = 1
continue
nums[abs(nums[i])] = -nums[abs(nums[i])]
if flag!=1:
return len(nums)

flag = 0
for i in range(len(nums)):
if nums[i]>0:
return i
if nums[i]==0:
flag = 1
index = i

if flag==1:
return index
else:
return 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: