[编程题]击败魔物 小红书 二分查找
我们把问题分解成两个子问题:
1.已知 必杀技伤害X 验证能否获胜
2.二分查找能够获胜的最小伤害X
考虑二分查找的上下边界:
- 平A即可取胜,此时为X的下界0
- 技能秒杀任意怪,此时为X的上界为怪物的最大血量,伤害更高没有意义
package main
import (
"fmt"
"sort"
)
//求和
func sum(arr []int) (ans int) {
for _,v:=range arr{
ans+=v
}
return
}
//求较小值
func min(i,j int) int {
if i<j{
return i
}else{
return j
}
}
//验证能否获胜
func f(ohs