Leetcode 两地调度

编程入门 行业动态 更新时间:2024-10-26 22:21:06

Leetcode <a href=https://www.elefans.com/category/jswz/34/1675592.html style=两地调度"/>

Leetcode 两地调度

公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]

返回将每个人都飞到某座城市的最低费用,要求每个城市都有 N 人抵达

 

示例:

输入:[[10,20],[30,200],[400,50],[30,20]]
输出:110
解释:
第一个人去 A 市,费用为 10。
第二个人去 A 市,费用为 30。
第三个人去 B 市,费用为 50。
第四个人去 B 市,费用为 20。最低总费用为 10 + 30 + 50 + 20 = 110,每个城市都有一半的人在面试。

 

提示:

  1. 1 <= costs.length <= 100
  2. costs.length 为偶数
  3. 1 <= costs[i][0], costs[i][1] <= 1000
  4.  

 

思路:将costs[i][0]-costs[i][1]的差值排序,前一半a地,后一半b地。

 

int cmp(void *a,void *b){return ((*(int **)a)[0] - (*(int **)a)[1]) - ((*(int **)b)[0] -(*(int **)b)[1]);
}int twoCitySchedCost(int** costs, int costsSize, int* costsColSize){int i;int ret=0;qsort(costs,costsSize,sizeof(int *),cmp);for(i=0;i<costsSize/2;i++)ret += costs[i][0];for(i=costsSize/2;i<costsSize;i++)ret += costs[i][1]; return ret;}

 

 

更多推荐

Leetcode 两地调度

本文发布于:2024-02-08 22:04:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1675585.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:两地   Leetcode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!