GO:两地调度
公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]。
返回将每个人都飞到某座城市的最低费用,要求每个城市都有 N 人抵达。
func twoCitySchedCost(costs [][]int) int {
sum := 0
diff := make([]int, len(costs))
for ind, val := range costs {
// 所有去A地的和
sum += val[0]
// 去B地与去A地的差值
diff[ind] = val[1] - val[0]
}
sort.Ints(diff)
// 选一半去B地
for i := 0; i < len(costs) / 2; i++ {
sum += diff[i]
}
return sum
}
发表评论
要发表评论,您必须先登录。