0
我有一个很好的时间算法,我应该改变它以获得更好的时间,但我没有任何想法。
你能帮助我吗?
这里是时间:
- 真正0m0.164s
- 用户0m0.021s
- SYS 0m0.010s
这里是算法中:
def algo2(A, B):
x=0
y=0
for a in A:
m=0
for b in B:
if a == b:
m += 1
if m>y:
x = a
y = m
return x;
这里是算法的数组:
A = [1,2,3,4,5,6,7,8,9,0] B = [1,2,3,4,5,6,4,7,8,9,0]
数组中的值是否存在绑定?数组是否总是排序? – beaker 2013-03-25 14:05:18
算法做什么? – SomeWittyUsername 2013-03-25 14:08:45
我想A中的元素是唯一的,但不是B中的。你想在A中找到最常出现在A中的元素.n是A中元素的数量,m是B中元素的数量,你的算法是O(纳米)。获得更好的大O的方法是对A和B进行排序,然后线性浏览A和B,得到O(n.log n + m.log m + n + m) – Kwariz 2013-03-25 14:11:30