亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript怎么解決優勢洗牌算法題

發布時間:2022-01-05 16:21:14 來源:億速云 閱讀:142 作者:iii 欄目:大數據

本篇內容介紹了“JavaScript怎么解決優勢洗牌算法題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

題目描述:

給定兩個大小相等的數組 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]

我們用示例2來說明,A、B兩個數組長度一樣,將A數組進行排列,讓后逐項與B數組進行比較, A[i]>B[i]的一分,使分數最大化。

看起來很簡單,但是該如何思考呢?從哪里下手呢?

我們可以先將A數組進行排序,從小到大進行排序,排序完成后,循環遍歷B數組,用B數組中的每一項,去A數組中查找比這一項剛好大一點的數據,查找到后,將其放入到對應位置,如果查找不到從排序完成的A數組中抽出最小的放到當前位置。

原理類似于田忌賽馬,用A數組中的最小的數據,對沖B數組中的比較大的數據,剩下A數組中的數據挑選略大于B數組中的數據。代碼如下:

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;
}

“JavaScript怎么解決優勢洗牌算法題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资讯| 灵璧县| 新晃| 卢湾区| 拉萨市| 古田县| 湟源县| 朝阳县| 永川市| 清苑县| 凤阳县| 洪湖市| 马关县| 库尔勒市| 睢宁县| 华坪县| 澎湖县| 保定市| 仁化县| 阳高县| 湾仔区| 基隆市| 白朗县| 佛山市| 葫芦岛市| 灵寿县| 白银市| 兴隆县| 雅江县| 东至县| 察雅县| 宜阳县| 杂多县| 泰安市| 余姚市| 平湖市| 蓬溪县| 集安市| 孟津县| 淳化县| 句容市|