Leetcode.1626 无矛盾的最佳球队
创始人
2025-06-01 12:14:29
0

题目链接

Leetcode.1626 无矛盾的最佳球队 Rating : 2027

题目描述

假设你是球队的经理。对于即将到来的锦标赛,你想组合一支总体得分最高的球队。球队的得分是球队中所有球员的分数 总和

然而,球队中的矛盾会限制球员的发挥,所以必须选出一支 没有矛盾 的球队。如果一名年龄较小球员的分数 严格大于 一名年龄较大的球员,则存在矛盾。同龄球员之间不会发生矛盾。

给你两个列表 scoresages,其中每组 scores[i]ages[i]表示第 i名球员的分数和年龄。请你返回 所有可能的无矛盾球队中得分最高那支的分数

示例 1:

输入:scores = [1,3,5,10,15], ages = [1,2,3,4,5]
输出:34
解释:你可以选中所有球员。

示例 2:

输入:scores = [4,5,6,5], ages = [2,1,2,1]
输出:16
解释:最佳的选择是后 3 名球员。注意,你可以选中多个同龄球员。

示例 3:

输入:scores = [1,2,3,5], ages = [8,9,10,1]
输出:6
解释:最佳的选择是前 3 名球员。

提示:

  • 1<=scores.length,ages.length<=10001 <= scores.length, ages.length <= 10001<=scores.length,ages.length<=1000
  • scores.length==ages.lengthscores.length == ages.lengthscores.length==ages.length
  • 1<=scores[i]<=1061 <= scores[i] <= 10^61<=scores[i]<=106
  • 1<=ages[i]<=10001 <= ages[i] <= 10001<=ages[i]<=1000

解法:排序 + dp

先用一个列表 a记录这样的一个二元组 {ages,score},接着再按 agescore从小到大排序。

我们定义f(i)f(i)f(i) 代表以 i-1位选手结尾的最大分数。就是必须选择 i-1位选手,而且它是最后一位,能获得的最大分数。

f(i)f(i)f(i)由两部分组成:

  • f(i)=a[i].secondf(i) = a[i].secondf(i)=a[i].second

  • max(f(j))max(f(j))max(f(j)) (0≤j

时间复杂度:O(n2+nlogn)O(n^2 + nlogn)O(n2+nlogn)

C++代码:

using PII = pair;
class Solution {
public:int bestTeamScore(vector& scores, vector& ages) {int n = scores.size();vector a(n);for(int i = 0;i < n;i++) a[i] = {ages[i],scores[i]};sort(a.begin(),a.end());vector f(n);int ans = 0;for(int i = 0;i < n;i++){f[i] = a[i].second;int d = 0;for(int j = i - 1;j >= 0;j--){if(a[j].second <= a[i].second) d = max(f[j],d);}f[i] += d;ans = max(ans,f[i]);}return ans;}
};

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...