题目来源
题目描述
题解
遍历 energy 和 experience,如果不如对手,那么增加自己的精力和经验,补到刚好超过对手即可。
你可能会问,题目不是要求在开始比赛前训练吗,怎么到比赛中去训练了?
这其实是等价的。把这些增加的量加起来,在开始比赛前训练,就可以击败所有对手了。
func minNumberOfHours(eng, exp int, energy, experience []int) (ans int) {
for i, e := range energy {
if eng <= e {
ans += e + 1 - eng
eng = e + 1 // 补到刚好超过
}
eng -= e
e = experience[i]
if exp <= e {
ans += e + 1 - exp
exp = e + 1 // 补到刚好超过
}
exp += e
}
return
}