鍍金池/ 問答/PHP  HTML/ 又出算法題了,實在解不出來了

又出算法題了,實在解不出來了

給定兩個大小相等的數(shù)組 A 和 B,A 相對于 B 的優(yōu)勢可以用滿足 A[i] > B[i] 的索引 i 的數(shù)目來描述。

返回 A 的任意排列,使其相對于 B 的優(yōu)勢最大化。

示例 1:

輸入:A = [2,7,11,15], B = [1,10,4,11]
輸出:[2,11,7,15]
示例 2:

輸入:A = [12,24,8,32], B = [13,25,32,11]
輸出:[24,32,8,12]

回答
編輯回答
九年囚
A = [12, 24, 8, 32], B = [13, 25, 32, 11]
A.sort((a, b) => b - a)
let A1 = [...B].sort((a, b) => b - a).reduce((res, val) => {
  res[B.indexOf(val)] = A[0] > val ? A.shift() : A.pop()
  return res
}, new Array(A.length))
console.log(A1)
2017年7月17日 03:18
編輯回答
祉小皓
function comp(arr1,arr2){
        var arr=[];
        arr1.sort(function(a,b){
            return a-b;
        });
        arr2.forEach(function(item){
            var index=arr1.findIndex(function(_item){
                return _item>item;
            });
            if(index>-1){
                arr.push(arr1.splice(index,1)[0]);
            }else{
                arr.push(arr1.splice(0,1)[0]);
            }
        });
        return arr;
    }
    console.log(comp([2,7,11,15],[1,10,4,11]));
    console.log(comp([12,24,8,32],[13,25,32,11]));
2017年8月23日 13:16