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.mzph.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…