有个游戏角色的技能对敌方某个玩家攻击后,该敌方玩家会进入5秒的中毒状态(中毒状态没结束再次被攻击,则中毒状态重新计时直至5秒后结束)现在根据给定的数组,将其每个元素取绝对值并按从小到大排列后,当 作这个技能的攻击时间序列,请输出被攻击对象中毒时间总长
- 你可以想想王者荣耀的扁鹊,扁鹊一扔毒包,对方就中毒了,中毒时间5秒,
- 假如在中毒时再次扔毒包,他就在次中毒时间5秒,
- 如果中毒时间结束啦,再次扔毒包右中毒
package main
import (
"fmt"
"sort"
)
func poiso(x []int) int {
//对传过来的数组从小到大排序
sort.Slice(x, func(i, j int) bool {
return x[i]
//如果后一个元素减去前一个元素大于5秒
if x[i+1]-x[i]>=5{
time=time+5
}else {//如果后一个元素减去前一个元素大于5秒
time=time+(x[i+1]-x[i])
}
}
//数组中最后一个元素时间仍毒包,会中毒5秒
time =time+5
fmt.Println(time)
return time
}
func main() {
//ret:=poiso([]int{1,2,3,9,10,90})
ret:=poiso([]int{1,2,3,6})
fmt.Println(ret)
}



