题目二 安排面试地点

<script>
    /*题目2
    今天有N个面试者需要面试,公司安排了两个面试的城市A和B,每一个面试者都有到A城市的开销costA和到B城市的开销costB。
    公司需要将面试者均分成两拨,使得total cost最小。
   ********** 题目要求去A的人数和去B的人数相等*******
   
    输入: 
    cost = [[5,4],[3,6],[1,8],[3,9]]
    输出: 
    14
    说明: 
      第一个和第二个人去B城市,剩下的去A城市
    
    思路 :让 coustA-costB 大于零就证明离b更近,去B。从小到大排列 前半部分去b 后半部分去a
    */
    // var test =[[5,4],[3,6],[1,8],[3,9]]
    var test = [[1, 2], [2, 1], [1, 2], [2, 1], [1, 2], [2, 1], [1, 2], [2, 1]]
function TotalCost(test) { var arr = new Array(); var result = new Array(); var sum = 0; for (var i = 0; i < test.length; i++) { arr[i] = new Array() arr[i][0] = i arr[i][1] = (test[i][0] - test[i][1]) } arr.sort(function (x, y) { return x[1] - y[1]; }); console.log(arr) // for(var i=0;i<test.length;i++){ for (var j = 0; j < test.length; j++) { if (j+1 <= test.length / 2) { sum = sum + test[arr[j][0]][0] } else { sum = sum + test[arr[j][0]][1] } } console.log(sum) } TotalCost(test) </script>

 

posted @ 2021-12-24 13:22  山海南坪  阅读(46)  评论(0编辑  收藏  举报