【发布时间】:2013-07-16 19:49:31
【问题描述】:
这是最近在一次采访中向一位朋友提出的问题,我们不知道除了简单的 O(n3) 解决方案之外的任何解决方案。
有更好的算法吗?
问题是在一个整数数组中找到所有三元组,其总和小于或等于给定总和 S。
注意:我在 SO 上看到了其他性能为 O(n2log n) 的此类问题,但他们都在解决这个问题的更简单版本,例如 arr[i] + arr[j] + arr[k] = S 或它们所在的位置只检查是否存在一个这样的三元组。
我的问题是找出arr[] 中的所有i,j,k 使得arr[i] + arr[j] + arr[k] <= S
【问题讨论】:
标签: algorithm dynamic-programming