题目:洛谷P1059
下面是去重程序
但是这样运行时出现了越界问题
!提问1:为什么会越界?应该怎么解决?!
然后我换了种写法,绕开了越界(还是不知道为什么)
但是这样写,逻辑上有问题,运行结果如下
!提问2:为什么逻辑有问题?应该怎么解决?!
还有就是,_!有不用set和sort的Python3解法吗?_
谢谢!
补充:我将第二个循环改成了冒泡排序,但是仍有逻辑问题。请帮忙解决!
题目:洛谷P1059
下面是去重程序
但是这样运行时出现了越界问题
!提问1:为什么会越界?应该怎么解决?!
然后我换了种写法,绕开了越界(还是不知道为什么)
但是这样写,逻辑上有问题,运行结果如下
!提问2:为什么逻辑有问题?应该怎么解决?!
还有就是,_!有不用set和sort的Python3解法吗?_
谢谢!
补充:我将第二个循环改成了冒泡排序,但是仍有逻辑问题。请帮忙解决!
不用那么麻烦,你可以将列表转为集合set()这样就可以去重了,然后将集合转为列表,并进行排序。越界很可能是因为你用了remove()
n = int(input())
num_list = input().split(' ')
num_list = [int(i) for i in num_list]
# print(num_list)
# 转集合
num_list2 = set(num_list)
# 转列表
num_list2 = list(num_list2)
# 排序
num_list2 = sorted(num_list2)
print(len(num_list2))
print(num_list2)