有人能告诉我找到从未排序数组求和的最大整数的最佳方法吗?
例如
{0.1, 0.2, 0.9, 0.5}
Largest whole number possible is 1 (0.1 + 0.9).
{0.9, 0.2, 0.5, 0.3, 0.9}
Largest possible is 2 (0.9 + 0.9 + 0.2)
Run Code Online (Sandbox Code Playgroud)
谢谢
更新
我接受了我使用的方法,但下面的一些方法将是编程正确的
我建议对整个数组求和,然后找到小数部分等于总和的最小和。除非小数点后的数字具有非常高的精度,否则无论采用何种方法找到确切的数字,这种反转都应该节省大量计算。
此外,对数组进行排序并从最小的数字开始贪婪可能会产生不错的结果。然而,最优解很大程度上取决于初始集的性质。您能否就您期望的数字提供更详细的说明?