比赛中有问题。我已经用动态编程及其复杂性O(n^2)
解决了这个问题。但我正在寻找效率较低的解决方案。这种低效方式的复杂性是什么?谢谢你的帮助。
答案 0 :(得分:2)
有一种通用方法可以降低任何动态编程解决方案的效率。动态编程的本质是存储子问题的解决方案以供重用。
为了以一种合理的方式降低效率,摆脱子问题结果存储。而是在需要时重新计算每个子问题解决方案。
答案 1 :(得分:1)
使用具有相同算法的低效数据结构可以帮助O(n^3)
。将城镇存储在链表而不是数组中会使算法效率降低一个订单。
为了降低效率,更改算法更容易。例如,检查所有预兆变化组合并使用最小值,这是指数时间。