题解 | #主持人调度(二)#

主持人调度(二)

http://www.nowcoder.com/practice/4edf6e6d01554870a12f218c94e8a299

package main
import "sort"
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 计算成功举办活动需要多少名主持人
 * @param n int整型 有n个活动
 * @param startEnd int整型二维数组 startEnd[i][0]用于表示第i个活动的开始时间,startEnd[i][1]表示第i个活动的结束时间
 * @return int整型
*/
func minmumNumberOfHost( n int ,  startEnd [][]int ) int {
//辅助切片,用于提取每个给定输入的每个区间的开始时间和结束时间
	var start, end []int
    //切片初始化
    start = make([]int, len(startEnd))
	end = make([]int, len(startEnd))
	for i := 0; i < len(startEnd); i++ {
		start[i] = startEnd[i][0]
		end[i] = startEnd[i][1]
	}
    //辅助切片排序
    sort.Ints(start)
	sort.Ints(end)
	var res, j int
    //循环查找满足条件的主持人:
	for i := 0; i < n; i++ {
    //某个活动i的开始时间晚于活动j 的结束时间,则主持人在i结束后可以主持j,不用新增主持人
		if start[i] >= end[j] {
			j++
		} else {
        //否则新增主持人
			res++
		}
	}
	return res
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务