给定一套合理性和一些价值。最小化超出该值所需的元素。 (线性时间)

时间:2018-10-29 14:55:25

标签: algorithm

给出一组x> 0且权重为W的n个元素。找出所需总和等于或大于W的最小元素。 我正在努力寻找线性时间(O(n))算法。

[编辑:线性排序算法不能使用,因为所有值都是有理数(也是有理数)]

1 个答案:

答案 0 :(得分:1)

首先,您需要对这些元素进行排序。然后,您可以轻松地找到线性时间内的最小元素数。只要这个UPDATE tableOne SET columnOne = tableTwo.columnOne::text FROM tableTwo WHERE tableTwo.tableId = tableOne.tableId AND tableOne.columnTwo ~ '-0[2-9]-' and tableOne.columnOne is distinct from tableTwo.columnOne::text; ,您就需要从最大的元素到最小的元素求和。

通常的排序算法采用tableOne.columnTwo。因此,您需要一种用于在线性时间内对数字进行排序的算法。如果您有一组整数,则可以使用以下一种算法http://staff.ustc.edu.cn/~csli/graduate/algorithms/book6/chap09.htm