比较两个数组大小的算法

给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。

返回 A 的任意排列,使其相对于 B 的优势最大化。

示例 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]


慕虎7371278
浏览 1121回答 2
2回答

蝴蝶刀刀

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]));

千巷猫影

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)
打开App,查看更多内容
随时随地看视频慕课网APP