leetcode870. 優勢洗牌(貪心算法)

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

代碼

class Solution {public int[] advantageCount(int[] A, int[] B) {PriorityQueue<int[]> priorityQueue=new PriorityQueue<>((o1, o2) -> o1[0]-o2[0]);int[] res=new int[A.length];Arrays.fill(res,-1);Arrays.sort(A);int idx=0;for(int i=0;i<B.length;i++) priorityQueue.add(new int[]{B[i],i});//將b中元素加入優先隊列while (!priorityQueue.isEmpty()){int[] temp=priorityQueue.poll();while (idx<A.length&&A[idx]<=temp[0]) idx++;//在a中查找大于當前元素的數字if(idx==A.length) break;//數組a遍歷完了res[temp[1]]=A[idx];A[idx]=-1;//標記已經確定了的a中元素}idx=0;for(int i=0;i<A.length;i++)//將沒有位置放的a中數字塞進結果{if(res[i]==-1){while (idx<A.length&&A[idx]==-1) idx++;res[i]=A[idx];A[idx]=-1;}}return res;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393580.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393580.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393580.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mysql中行轉列和列轉行

一、行轉列即將原本同一列下多行的不同內容作為多個字段&#xff0c;輸出對應內容。建表語句DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT 用戶id, subject VARCHAR(20) COMMENT…

OSChina 周四亂彈 ——妹子喜歡的是程序員 這是標準……

2019獨角獸企業重金招聘Python工程師標準>>> Osc亂彈歌單&#xff08;2017&#xff09;請戳&#xff08;這里&#xff09; 【今日歌曲】 一葉孤鴻 &#xff1a;分享Nanaka的單曲《いのちの名前&#xff08;Cover 木村弓&#xff09;》 《いのちの名前&#xff08;C…

阿里薪資談判技巧_如何像專業人士一樣處理技術職業中的薪資談判

阿里薪資談判技巧by Aline Lerner通過艾琳勒納(Aline Lerner) 如何像專業人士一樣處理技術職業中的薪資談判 (How to handle salary negotiations in your tech career like a pro) 確切地談薪水時要說些什么 (Know exactly what to say when negotiating your salary) There …

xp系統sql服務器怎么找,SQL文件在winxp系統下怎么打開

很多用戶不知道SQL文件是什么?SQL文件怎么打開?我們存儲數據時候經常會遇到SQL文件&#xff0c;如果你不知道WinXP系統SQL文件是什么以及怎么打開的話&#xff0c;那就趕緊看看小編整理的以下文章內容吧!SQL文件是什么?學習編程的同學可能都知道SQL是一種高級的非過程化的編…

Silverlight 設計器加載錯誤

每次打開silverlight頁面出如下錯誤 然后設計器不能將頁面加載出來 最后找了蠻多資料的 感覺這個原因有可能&#xff1a;“控制面板的添加刪除程序那里&#xff0c;選中Microsoft Silverlight&#xff0c;看看他的版本&#xff0c;是否與所裝的SDK的版本號一致。就算兩個版本號…

mysql索引優化實際例子_MySQL索引優化的實際案例分析

Order by desc/asc limit M是我在mysql sql優化中經常遇到的一種場景&#xff0c;其優化原理也非常的簡單&#xff0c;就是利用索引的有序性&#xff0c;優化器沿著索引的順序掃描&#xff0c;在掃描到符合條件的M行數據后&#xff0c;停止掃描&#xff1b;看起來非常的簡單&am…

leetcode441. 排列硬幣(二分查找)

你總共有 n 枚硬幣&#xff0c;你需要將它們擺成一個階梯形狀&#xff0c;第 k 行就必須正好有 k 枚硬幣。 給定一個數字 n&#xff0c;找出可形成完整階梯行的總行數。 n 是一個非負整數&#xff0c;并且在32位有符號整型的范圍內。 示例 1: n 5 硬幣可排列成以下幾行: …

【洛谷 P2051】 [AHOI2009]中國象棋(DP)

題目鏈接 首先想到狀壓dp&#xff0c;但是\(n,m\)高達100&#xff0c;怎么壓&#xff1f; 容易發現&#xff0c;每行每列最多兩個象棋&#xff0c;否則就直接gg了。 一個巧妙的設置狀態的方式是&#xff0c;只需要記錄到當前行有多少列是放了1個炮和2個炮。 然后每一行有3種選擇…

循環 直到 python_如果您在Python中存在慢循環,則可以對其進行修復……直到無法解決為止...

循環 直到 pythonby Maxim Mamaev馬克西姆馬馬耶夫(Maxim Mamaev) Let’s take a computational problem as an example, write some code, and see how we can improve the running time. Here we go.讓我們以一個計算問題為例&#xff0c;編寫一些代碼&#xff0c;看看如何改…

阿里云視頻點播解決方案使用教程

2019獨角獸企業重金招聘Python工程師標準>>> 課程介紹 視頻點播&#xff08;ApsaraVideo for VoD&#xff0c;簡稱VoD&#xff09;是集視頻音視頻采集、編輯、上傳、自動化轉碼處理、媒體資源管理、分發加速于一體的一站式音視頻點播解決方案。 產品詳情&#xff1a…

云服務器安裝操作系統后如何連接,服務器如何安裝操作系統

服務器如何安裝操作系統 內容精選換一換如果您需要使用畢昇編譯器&#xff0c;則需要先在服務端安裝畢昇編譯器。畢昇編譯器基于開源LLVM開發&#xff0c;并進行了優化和改進&#xff0c;同時將flang作為默認的Fortran語言前端編譯器&#xff0c;是針對鯤鵬平臺的高性能編譯器。…

換行符

非原創windows保留\r\n作為換行符的原因&#xff1a; 回車鍵為什么叫回車鍵&#xff0c;大家有想過沒有&#xff0c;字面意思是回去的車子。 第一臺打印機&#xff0c;每一行打印完了之后在打印第二行之前&#xff0c;這個噴墨的玩意兒需要先回到這一行的行首&#xff0c;這叫回…

leetcode劍指 Offer 53 - II. 0~n-1中缺失的數字(二分查找)

一個長度為n-1的遞增排序數組中的所有數字都是唯一的&#xff0c;并且每個數字都在范圍0&#xff5e;n-1之內。在范圍0&#xff5e;n-1內的n個數字中有且只有一個數字不在該數組中&#xff0c;請找出這個數字。 示例 1: 輸入: [0,1,3] 輸出: 2 代碼 class Solution {public…

python 0基礎起步學習day2

元組&#xff1a;戴上了枷鎖的列表 元組是不可改變的&#xff0c;元組是不能隨意改變內部的元素的 元組和列表很像&#xff0c;它可以看成是不可修改的列表 所以創建元祖逗號是關鍵 因為(8,)是元組&#xff0c;這里*就不再是乘號&#xff0c;而是重復拷貝符【重復操作符】 直接…

react中的狀態機_在基于狀態圖的狀態機上使用React的模式

react中的狀態機by Shawn McKay肖恩麥凱(Shawn McKay) 在基于狀態圖的狀態機上使用React的模式 (Patterns for using React with Statechart-based state machines) Statecharts and state machines offer a promising path for designing and managing complex state in apps…

android scheme打開天貓,淘寶

直接上代碼 Intent intent new Intent(); intent.setAction("android.intent.action.VIEW"); /*String url "taobao://shop.m.taobao.com/shop/shop_index.htm?shop_id131259851&spma230r.7195193.1997079397.8.Pp3ZMM&point" "%7B%22…

leetcode1337. 方陣中戰斗力最弱的 K 行(優先隊列)

給你一個大小為 m * n 的方陣 mat&#xff0c;方陣由若干軍人和平民組成&#xff0c;分別用 1 和 0 表示。 請你返回方陣中戰斗力最弱的 k 行的索引&#xff0c;按從最弱到最強排序。 如果第 i 行的軍人數量少于第 j 行&#xff0c;或者兩行軍人數量相同但 i 小于 j&#xff…

dp 1.4協議_淺析關于HDMI接口與DP接口

顯示器現在主流已經為HDMI接口與DP接口&#xff0c;那么這些接口都有什么區別&#xff0c;以下表格會大致做個區分&#xff0c;建議優先使用DP接口。&#xff08;HDMI2.1接口目前僅發布協議&#xff0c;尚未大規模商用在高清電視機上有部分應用&#xff0c;Mini DP接口版本為DP…

淺談 JDBC 中 CreateStatement 和 PrepareStatement 的區別與優劣。

淺談 JDBC 中 CreateStatement 和 PrepareStatement 的區別與優劣。

jsp 構建單頁應用_如何使用服務器端Blazor構建單頁應用程序

jsp 構建單頁應用介紹 (Introduction) In this article, we will create a Single Page Application (SPA) using server-side Blazor. We will use an Entity Framework Core database. Single-Page Applications are web applications that load a single HTML page. They dy…