大家好,我已经解决了以下问题:
相似数组
如果两个数组由相同的元素组成(没有多重性),我们就称它们为相似的。找出这两个数组是否相似。
输入数据
第一行包含数字 N(1≤N≤100000) — 第一个数组的大小。第二行包含 N 个模数不超过 109 的整数——数组的元素。然后以相同的方式定义第二个数组。
输出
如果数组相似,程序应该打印 YES,否则打印 NO。
例子
Ввод
3
1 7 9
4
9 7 7 1
结论
YES
输入
4
1 2 3 4
3
5 1 3
结论
NO
我为它写了一个程序
n=int(input())
l1=list(map(int, input().split()))
m=int(input())
l2=list(map(int, input().split()))
ans="YES"
if len(l1)>len(l2):
a=l1
b=l2
else:
a=l2
b=l1
for i in range(len(a)):
if a[i] not in b:
ans="NO"
break
print(ans)
但它的工作时间太长,在第 3 次测试时它不符合时限。请帮帮我!!!
使用不是
list但是set应用时,
list如果排序也可以更快,但使用集合更好