您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

2个整数排序数组的有效排序笛卡尔积

2个整数排序数组的有效排序笛卡尔积

如果有这比O(解决 ñ ²登录 ñ),它需要做的不仅仅是利用A和B都已经排序的事实。

Srikanth想知道如何在O( n)空间中完成此操作(不计算输出空间)。这可以通过延迟生成列表来完成。

假设我们有A = 6,7,8和B = 3,4,5。首先,将A中的每个元素乘以B中的第一个元素,并将它们存储在列表中:

6×3 = 18、7×3 = 21、8×3 = 24

找到此列表中最小的元素(6×3),将其输出,用A中的该元素替换它乘以B中的下一个元素:

7×3 = 21、6 ×3 = 24

在此列表中找到新的最小元素(7×3),将其输出并替换:

6×4 = 24、8×3 = 24、7

等等。我们只需要O( n )空间用于此中间列表,并且如果将列表保留在堆中,则在每个阶段查找最小的元素将花费O(logn )时间。

其他 2022/1/1 18:15:10 有458人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶