永恒的蓝色梦想 发表于 2020-3-26 13:38
朋友,为啥用你的代码报错啊,显示list未被定义..
还是这个小幺 发表于 2020-3-26 21:22
朋友,为啥用你的代码报错啊,显示list未被定义..
这个注释只有LEETCODE才能用,用其他的解释器就会报错
nums=
n=len(nums)
l=[]
active=0
for i in range(n):
if nums != (i+1):
l.extend(,(i+1)])
active=1
break
if active==1:
break
print(l)
def fun359(nums):
n = len(nums)
repeat = 0
for i in range(n):
while nums != i + 1:
if nums - 1] == nums:
repeat = nums
break
else:
nums - 1],nums = nums,nums - 1]
miss_nums = (1 + n) * n // 2 + repeat - sum(nums)
return
我觉得,不排序可以有另一种解法。{:10_248:}
就比如,nums = ,这样输出的是因为是按顺序写的数组,所以后面加上7。楼主,我理解的对吗?{:10_248:}
def fun(num):
lis=[]
for i in range(1,len(num)):
if i not innum:
lis.append(i)
else:
ifnum.count(i)==2:
lis.append(i)
returnlis
本帖最后由 yexing 于 2020-3-27 10:36 编辑
试试遍历列表找目标元素:
def func359(nums:list) -> list:
list1 = []
for i in range(len(nums)):
if i >= 1:
if nums == nums:
list1.append(nums)
list1.append(nums-1)
break
return list1
本帖最后由 tain 于 2020-3-27 09:15 编辑
def findnum(*num):
n = 1
list1 = []
for num1 in num:
if num1 - n == 0:
n += 1
else:
list1.append(num1)
list1.append(n)
break
print(list1)
lst=
def findd(*args):
lst1=
for i ⅰn range(1,len(lst)+1):
if lst.count(i)==2:
lst1=i
if lst.count(i)==0:
lst1=i
return lst1
ret=fⅰndd(lst)
prⅰnt(ret)
TJBEST 发表于 2020-3-26 17:50
版主 输入 可能是 【1,1,2,4】还是片【1,2,1,4】,排好序了?
输入的数据是有序的
def test359(nums:list):
n=len(nums)
result=[]
for i in range(1,n+1):
if i not in nums:
result.append(i)
if nums.count(i)==2:
result.append(i)
return result
print(test359())
fan1993423 发表于 2020-3-26 13:50
麻烦版主把357,358题测一下吧
输入 出错
BngThea 发表于 2020-3-26 13:53
可以用numpy吗
输入 结果有误
March2615 发表于 2020-3-26 14:08
再来一种更容易想到的
248 ms
塔利班 发表于 2020-3-26 15:04
236 ms
旅途Z 发表于 2020-3-26 16:23
def find_x_y(nums):
lens = len(nums)
x = 0
240 ms
已改
def fun359(lst):
result=[]
lst.sort()
for i in lst:
if lst.count(i)==2:
result.append(i)
break
k=set(range(1,len(lst)+1))-set(lst)
result.append(k.pop())
return result
fan1993423 发表于 2020-3-27 18:28
已改
7840 ms
zltzlt 发表于 2020-3-27 18:03
输入 结果有误
我默认是输入的numpy.array,简单改了一下
BngThea 发表于 2020-3-27 19:01
我默认是输入的numpy.array,简单改了一下
输入 应该返回 ,你却返回了
TJBEST 发表于 2020-3-26 17:45
不知道sum的速度如何,如果sum比遍历更快,此法还是可以的。
结果应该不错,但是速度未知,纯数学思想没用 ...
248 ms