我正在为几个工作面试做准备,遇到了一些完全难住我的算法问题。我想知道你们中是否有人能够解释解决这个例子问题的策略或提供任何伪代码。
非常感谢!
问题: 你是一名自由承包商,你可以每周选择不同的工作。工作分为两组,ls和hs。如果你选择hs的工作,你必须在前一周做好准备,不接受任何工作。而ls工作则不需要这样的准备。
给定大小为n的数组l和h(其中n为周数),确定您的最佳工作计划。
因此,从下表中我理解:
╔═══╦══╦════╦════╦════╦═════╦═════╗ ║ ║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ╠═══╬══╬════╬════╬════╬═════╬═════╣ ║ l ║ ║ 30 ║ 5 ║ 20 ║ 25 ║ 500 ║ ║ h ║ ║ 0 ║ 50 ║ 70 ║ 100 ║ 110 ║ ╚═══╩══╩════╩════╩════╩═════╩═════╝
最佳方案是NHNHL,奖励为650。但我不知道如何编写一个紧凑高效的算法来实现这一点。