描述
今天有N个面试者需要面试,公司安排了两个面试的城市A和B,每一个面试者都有到A城市的开销costA和到B城市的开销costB。公司需要将面试者均分成两拨,使得total cost最小。
题目要求去A的人数和去B的人数相等。
在线评测地址:领扣题库官网
样例1 cost = [[5,4],[3,6],[1,8],[3,9]] 第一个和第二个人去B城市,剩下的去A城市
解题思路
对于每一个人去A城市的距离减去B城市的距离,从小到大进行排序,前一半的人去A城市,后一半的人去B城市。
复杂度分析
时间复杂度:O(nlogn)
需要进行排序,排序算法时间为nlogn。
空间复杂度:O(1)
不需要开辟新的空间。
源代码
public class Solution { public int TotalCost(List List Integer cost) { Comparator List Integer cmp = new Comparator List Integer () { public int compare(List Integer first,List Integer second) { if (first.get(1) - first.get(0) == second.get(1) - second.get(0)) { return 0; else if (first.get(1) - first.get(0) second.get(1) - second.get(0)) { return -1; else { return 1; Collections.sort(cost, cmp); int answer = 0; int length = cost.size(); int j = 0; for (int i = 0; i length; i++) { if (2 * j length) { answer += cost.get(i).get(1); else { answer += cost.get(i).get(0); j++; return answer; }
更多题解参考:九章官网solution
中文 域名 能备案吗?能的,目前以下这些域名都是支持备案的,大家在注册的时候...
个人 云服务器 搭建教程?要搭建个人 云服务器 ,有两种方法。第一种是购买利用...
猿辅导,撑住了。 2020年1月,猿辅导正式对外宣布全球累计用户数量突破4亿,这家...
微博机器学习研发中心数据计算负责人,高级系统工程师曹富强为大家带来 Flink 实...
往期分享RDS MySQL RDS MySQL 实例空间问题 RDS MySQL 内存使用问题 RDS MySQL ...
1. 接口描述 接口请求域名: cvm.tencentcloudapi.com 。 本接口(DescribeImageQ...
操作场景 本节为您介绍如何通过控制台提供的远程登录功能(即VNC方式)登录到弹...
TOP云 (west.cn)10月12日,最新一期的sedo交易榜出炉了。上周成交金额超过2000...
客户简介 畅捷通是为小微企业打造的管理云平台。工作圈是畅捷通小微企业管理云平...
在可视化工作中,我们通常会根据数据的维度分类来制作图表,比如用户性别、年龄...