原题传送门 闲来无事,又刷一题。 题目理解 这是一个比较特殊的动态规划问题。吉他手需要在每首歌之前调整音量,可以选择调高或调低给定的音量值,但音量必须在 0 到 maxLevel 之间。我们需要找出最后一首歌能达到的最大音量。 我们可以从中提取出以下几个关键点: 初始音量为 beginLevel 每次调整可以选择在上一首歌的基础上加或减 c[i] 音量范围限制在 [0, maxLevel] 需要找到最后一首歌的最大可能音量 如果因为一些原因(如:在此前的任意一首歌中,不可避免的出现音量 或者)导致无法得到最后一首歌的最大可能音量,则输出-1。 解题思路 这里需要使用一种特殊的动态规划...