【发布时间】:2017-07-31 01:50:09
【问题描述】:
如果我有一个数字列表,我如何快速找到小于另一个数字的最大和。例如,在列表 {40,60,22,15,51,22,5,55,32,70} 中,小于 50 的最大和是什么。感谢您的帮助,因为我能找到的唯一解决方案是递归,这似乎效率低下。这是一个我当时无法解决的竞赛问题,从那以后一直让我感到沮丧。
【问题讨论】:
-
我建议你关掉你的电脑。拿一张纸和一支铅笔。然后写下解决问题所需的步骤。想想如果有人给你一个数字列表,你会如何手工完成。
-
"因为我能找到的唯一解决方案是递归,这似乎效率低下" 不要担心效率。在担心性能之前,编写一个给出正确解决方案的程序很重要。
-
我递归地解决了它,但我正在寻找更快的东西
-
你的代码需要几秒钟的时间吗?
-
这看起来像是一个动态规划问题。
标签: java