题目
题目的意思就是均匀的把人分配到两个城市,花销最少。
方法一:
先假设所有人都去B地,然后看其中哪些人去A地能够多省一些钱,那就是每个人去A地的花销与去B地的花销做差值,优先选出差值小的(带负号)。
class Solution {
public int twoCitySchedCost(int[][] costs) {
Arrays.sort(costs,new Comparator<int[]>(){
public int compare(int[] a,int[] b){
return a[0]-a[1]-(b[0]-b[1]);
}
});
int res = 0,len = costs.length/2;
for(int i=0;i<len;i++){
res += costs[i][0]+costs[i+len][1];
}
return res;
}
}
方法二:
动态规划,以后搞明白了再来更新