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;}
}
leetcode870. 优势洗牌(贪心算法)相关推荐
- Leetcode--870. 优势洗牌
给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述. 返回 A 的任意排列,使其相对于 B 的优势最大化. 示例 1: 输入: ...
- LeetCode 0870. 优势洗牌 - 【LetMeFly】趣解田忌赛马:能赢则赢,否则摆烂(贪心)
[LetMeFly]趣解田忌赛马:能赢则赢,否则摆烂(贪心) - 870.优势洗牌 力扣题目链接:https://leetcode.cn/problems/advantage-shuffle/ 给定两 ...
- 使用随机数实现扑克牌洗牌的算法(弱智版)
最近刷leetCood有点着魔了,突然想写一个扑克牌洗牌的实现方式. 大脑中第一印象就是用随机数来实现: 1)随机数范围为1-54 2)建立一个集合来存放随机生成的数 3)新随机出来的数如果该集合有, ...
- LeetCode 870. 优势洗牌(贪心 二分查找)
1. 题目 给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述. 返回 A 的任意排列,使其相对于 B 的优势最大化. 示例 ...
- LeetCode打卡:870.优势洗牌
给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述. 返回 A 的任意排列,使其相对于 B 的优势最大化. 示例 1: 输入: ...
- LeetCode 870. 优势洗牌(田忌赛马问题)
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...
- leetcode 870.优势洗牌
请输入代码给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述. 返回 A 的任意排列,使其相对于 B 的优势最大化. 示例 1 ...
- 数组洗牌算法-shuffle
数组洗牌,最近直接的想法是从数组随机取出一个元素,放到另一个数组中,但是这样取出的元素会有重复,必须采取一定的方法保证: 1. 元素不能重复 2. 元素被抽取的概率相等,即随机性 数组洗牌经典算法有两 ...
- java collections_扫盲java.util.Collections工具包,学习排序、二分、洗牌、旋转算法
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 算法是数据结构的灵魂! 好的算法搭配上合适的数据结构,可以让代码功能大大的提升效率. ...
最新文章
- ssh在dhcp自动获取地址的时候使用
- 如何限制创建子网站时只能使用指定的模板
- Codeforces Round #530 (Div. 2)
- 【python笔记】选择结构:if语句详解
- 嵌入式开发与C++开发的区别是什么?
- 快速提取PPT文件里面的视频、音频素材
- gridview textbox onblur触发按钮_按钮式的密封罐,人手一个都嫌少!
- 13、ARM嵌入式系统:通过旋钮控制蜂鸣器声音大小
- ODAC Windows 安装
- php 正则 tr,js正则匹配table tr
- python字典第一个元素_如何获取python字典中的第一个值
- 2560x1600分辨率高吗_2560x1600是多大尺寸的屏幕
- Java ArrayList add()方法与示例
- 14-用Python 读写 Excel 文件
- 关于Python虚拟环境与包管理你应该知道的事
- GDOI2018爆炸记
- 深度特征融合---高低层(多尺度)特征融合
- 简单手绘创意思维导图,思维导图软件
- UVA10815-Andy's First Dictionary 【set】
- 突然被录取?多所院校发布研究生补录通知!