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;
}
相关推荐
洛水水2 小时前
【力扣100题】90.寻找重复数
算法·leetcode·职场和发展
io无心2 小时前
基于Image 2的多配件商品图生成技术实现(已开源)
java·image2
鱼子星_2 小时前
【数据结构】排序的拓展——快速排序的生态多样性与归并排序沾染文件操作
c语言·数据结构·算法
alphaTao2 小时前
LeetCode 每日一题 2026/6/8-2026/6/14
算法·leetcode
javajenius2 小时前
Pixi:用 Rust 重写 Conda 体验的包管理工具
开发语言·其他·rust·conda
逢君学术论文AI写作2 小时前
Java第22课:Servlet获取请求参数+POST请求+表单交互
java·servlet·ai写作
神明不懂浪漫2 小时前
【第二章】Java中的数据类型,运算符与程序逻辑控制
java·开发语言·经验分享·笔记
laowangpython2 小时前
tokio-rstracing:Rust 可观测性的标准答案
开发语言·后端·其他·rust
小马爱打代码2 小时前
Java 开发:过滤器(Filter)与拦截器(Interceptor)深度解析 + CORS 跨域完整解决方案
java
KaMeidebaby2 小时前
卡梅德生物技术快报|噬菌体展示文库构建全流程解析 | 大豆球蛋白纳米抗体筛选实践
人工智能·python·tcp/ip·算法·机器学习