一个算法:在极大的无序序列中寻找三个数和大于等于N的所有组合数量

比如:1 4 2 5 9 中寻找大于6的组合

1 2 4
1 2 5
1 2 9
1 4 5
1 4 9
2 4 5
2 4 9
4 5 9

一共8个组合。

如果是自然数序列,可以先排序再找到最小的满足组合,接下来只需要复杂度为n的算法就可以得到结果。但是如果序列的值是离散的,使时间复杂度尽可能小的算法应该怎么考虑呢?

备注:
数值大于10^16

阅读 5k
2 个回答

能加能比较用你自己说的这个算法有什么问题吗?

不是自然数就不能排序了吗?数值大一点的话也可以排序的啊,并且复杂度只和你的数字个数有关啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题