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

问题描述:给定两个大小相等的数组A和B,A相对于B的优势是A[i]>B[i]的缩影数目来确定,返回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;
}
相关推荐
小北方城市网几秒前
Spring Cloud Gateway 动态路由进阶:基于 Nacos 配置中心的热更新与版本管理
java·前端·javascript·网络·spring boot·后端·spring
2501_901147833 分钟前
四数相加问题的算法优化与工程实现笔记
笔记·算法·面试·职场和发展·哈希算法
橙露3 分钟前
Docker 容器化运维:镜像优化、容器编排与持久化存储方案
java·运维·docker
码农阿豪5 分钟前
SpringAI 实战:构建智能问答系统全流程解析
java·人工智能
亿秒签到5 分钟前
第六届传智杯程序设计国赛B组T4·小苯的字符串染色
数据结构·算法·传智杯
chao1898445 分钟前
基于字典缩放的属性散射中心参数提取算法与MATLAB实现
开发语言·算法·matlab
小尧嵌入式9 分钟前
【Linux开发四】Linux中概念|MobaXterm和Filezilla软件使用|线程|互斥锁|读写锁
linux·运维·服务器·开发语言·数据结构
a努力。10 分钟前
Spring Boot 4 全面拥抱 Jackson 3
java·运维·开发语言·spring boot·后端·spring·jenkins
石去皿11 分钟前
大厂AI算法面试题汇总
人工智能·算法
那我掉的头发算什么12 分钟前
【Spring】从0到1掌握Spring MVC应用分层
java·后端·spring·mvc