【发布时间】:2019-12-12 14:18:47
【问题描述】:
给定一个长度为n 的数组ar,我如何打印所有三元组(ar[i], ar[j], ar[k]) 的时间比O(n^3) 好于0<=i<j<=k<n 的时间?
示例输入:
ar[]={5,6,7}
Output:
5 6 6
5 6 7
6 7 7
【问题讨论】:
给定一个长度为n 的数组ar,我如何打印所有三元组(ar[i], ar[j], ar[k]) 的时间比O(n^3) 好于0<=i<j<=k<n 的时间?
示例输入:
ar[]={5,6,7}
Output:
5 6 6
5 6 7
6 7 7
【问题讨论】:
你不能。
假设数组有n 元素。输出中包含来自数组前三分之一、第二个三分之一和第三个三分之一的值的每个组合。右边是n^3/27 = O(n^3) 输出。
你不能用少于O(n^3) 的工作产生O(n^3) 输出。
【讨论】: