请教一个关于算法的问题
一个客户按时间先后的挂帐记录如下:
100 --(1)
-60 --(2)
10 --(3)
-20 --(4)
10 --(5)
200 --(6)
总额为240. 现在客户要按时间先后(部分地)销帐,交40元. 现在要求销掉(1)至(5)笔记录,剩第(6)笔未销. 而不是只销掉第(1)笔40元,或只销掉第(1)笔和第(2)笔而已.
这应该属于"贪婪算法"吧?
本人的想法是:从最后一笔即第(6)笔开始向前推算,只要数额总和等于40,就全部将其销掉. 但海量数据时这一算法应该很慢.
现在寻求一种快速的,高效的,能实现上述要求的算法.