60 贪心算法解优势洗牌-田忌赛马问题

问题描述:给定两个大小相等的数组A和B,A相对于B的优势是Ai>Bi的缩影数目来确定,返回A的序列,使得其相对于B的优势最大化。

贪心算法求解:如果当前田即最快的马没有其最快的马快,那就用田最慢的马与其赛马,如果比他快,就用最快的马进行比赛,因为需要和齐王最快的马进行比较,从而使用最大堆进行进行装齐王的马,每次弹出一个和田ji的马进行对比,且在最大堆中需要存放马的位置,从而可根据位置进行结果的更新。

java 复制代码
public int[] saima(int []A,int []B)
{
int left=0;
int right=A.length-1;
Arrays.sort(A);
int []res=new int[A.length];
PriorityQueue<int[]>maxheap=new PriorityQueue<>((a,b)->b[0]-a[0]);
for(int i=0;i<B.length;i++)
{
int []temp=maxheap.poll();
if(temp[0]>A[A.length-1])
{
res[temp[1]]=left;
left++;
}else
{
res[temp[1]]=right;
right--;
}
}
return res;
}
相关推荐
小小测试开发9 小时前
安装 Python 3.10+
开发语言·人工智能·python
KaMeidebaby9 小时前
卡梅德生物技术快报|PD1 单克隆抗体定制配套 N 糖全谱质控开发
前端·人工智能·算法·数据挖掘·数据分析
8Qi810 小时前
LeetCode 235. 二叉搜索树的最近公共祖先(LCA)
算法·leetcode·二叉树·递归·二叉搜索树·lca·迭代
AAA大运重卡何师傅(专跑国道)10 小时前
【无标题】
开发语言·c#
bIo7lyA8v10 小时前
算法稳定性分析中的随机扰动建模的技术8
算法
sugar__salt10 小时前
从栈队列数据结构到JS原型面向对象全解
前端·javascript·数据结构
XBodhi.10 小时前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
科研online11 小时前
基于多源数据和XGBoost-SHAP分析中国大陆绿地碳汇空间变异影响因素的非线性相关性与尺度差异
算法·学习方法
Cthy_hy11 小时前
拓扑排序超详解:原理 + Kahn 贪心算法
python·算法·贪心算法
LSssT.11 小时前
【01】Python 机器学习
开发语言·python