【发布时间】:2012-02-12 07:21:29
【问题描述】:
这是面试问题之一,我想知道我是否做得对,并想知道我的解决方案是否是最有效的解决方案。 O(n log n)
给定一袋螺母和一袋螺栓,它们在一个袋子中的尺寸不同,但在另一个袋子中正好有一个匹配项,给出一个快速算法来找到所有匹配项。
由于 2 个袋子之间总是匹配的,所以我说会有相同数量的螺母和相同数量的螺栓。设号码为n。
我会首先对每个袋子中的组件进行分类,每个组件的重量,这是可能的,因为它们在袋子中都有不同的尺寸。使用归并排序,将会有 O(n log n) 的时间复杂度。
接下来,将 2 个袋子中的每个组件从最轻到最重进行匹配将是一个简单的过程。
我想知道这是否是正确的解决方案,以及是否有其他有趣的方法可以解决这个问题。
【问题讨论】:
-
是的,看起来你成功了。
标签: algorithm