栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

【Golang】Go语言面试题 编程题 有个游戏角色的技能对敌方某个玩家攻击后,该敌方玩家会进入5秒的中毒状态(中毒状态没结束再次被攻击,则中毒状态重新计时直至5秒后结束) ,现在根据给定的数组,将

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Golang】Go语言面试题 编程题 有个游戏角色的技能对敌方某个玩家攻击后,该敌方玩家会进入5秒的中毒状态(中毒状态没结束再次被攻击,则中毒状态重新计时直至5秒后结束) ,现在根据给定的数组,将

有个游戏角色的技能对敌方某个玩家攻击后,该敌方玩家会进入5秒的中毒状态(中毒状态没结束再次被攻击,则中毒状态重新计时直至5秒后结束)现在根据给定的数组,将其每个元素取绝对值并按从小到大排列后,当 作这个技能的攻击时间序列,请输出被攻击对象中毒时间总长

  1. 你可以想想王者荣耀的扁鹊,扁鹊一扔毒包,对方就中毒了,中毒时间5秒,
  2. 假如在中毒时再次扔毒包,他就在次中毒时间5秒,
  3. 如果中毒时间结束啦,再次扔毒包右中毒
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)
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907991.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号