昨天我把干净的洗衣店的袜子配对,弄清楚我做的方式效率不高.我正在做一个天真的搜索 - 挑选一个袜子并"迭代"堆,以找到它的对.这需要迭代在n/2*N/4 = N 2 /8上平均的袜子.
作为一名计算机科学家,我在想我能做什么?当然,为了实现O(NlogN)解决方案,我们会想到排序(根据大小/颜色/ ...).
哈希或其他非就地解决方案不是一种选择,因为我无法复制我的袜子(尽管如果可能的话可能会很好).
所以,问题基本上是:
给出一堆n袜子,包含2n元素(假设每个袜子只有一对匹配),有效配对多达对数额外空间的最佳方法是什么?(我相信如果需要的话我会记住那些信息.)
我将感谢一个解决以下方面的答案:
我一直无法理解是什么h(a)(b)意思.我昨天之前从未见过其中一个,我不能这样声明一个函数:
def f (a)(b):
return a(b)
Run Code Online (Sandbox Code Playgroud)
当我试图这样做时def f (a, b):,它也没有用.这些功能有什么作用?我该如何申报?最后,和之间的区别是什么?f(a, b)f(a)(b)
我对 keras 函数式 API 中的语法如何工作有点困惑。它对于定义复杂的多输入和输出模型非常有用。但语法对我来说有点令人困惑。
new_layer = Conv2d(...)(old_layer)
Run Code Online (Sandbox Code Playgroud)
据我所知 Conv2d 是一个类。Conv2d()() 语法在python中如何工作?