当前位置:网站首页>LeetCode 1626. The best team without contradiction
LeetCode 1626. The best team without contradiction
2022-07-07 16:59:00 【@Little safflower】
Problem description
Suppose you are the manager of the team . For the upcoming tournament , You want to form a team with the highest overall score . The score of a team is the score of all the players in the team The sum of the .
However , Contradictions in the team will limit the players' play , So you have to choose one There is no contradiction The team of . If a younger player's score Strictly greater than An older player , There are contradictions . There will be no contradiction between players of the same age .
Here are two lists scores and ages, Each group scores[i] and ages[i] It means the first one i Score and age of players . Please return The highest score of all possible non contradictory teams .
Example 1:
Input :scores = [1,3,5,10,15], ages = [1,2,3,4,5]
Output :34
explain : You can select all players .
Example 2:Input :scores = [4,5,6,5], ages = [2,1,2,1]
Output :16
explain : The best choice is after 3 player . Be careful , You can select multiple players of the same age .
Example 3:Input :scores = [1,2,3,5], ages = [8,9,10,1]
Output :6
explain : The best choice is before 3 player .
Tips :
1 <= scores.length, ages.length <= 1000
scores.length == ages.length
1 <= scores[i] <= 106
1 <= ages[i] <= 1000source : Power button (LeetCode)
link :https://leetcode.cn/problems/best-team-with-no-conflicts
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Java
class Solution {
public int bestTeamScore(int[] scores, int[] ages) {
int n = scores.length;
int[][] player = new int[n][2];// Age and score
for(int i = 0;i < n;i++){
player[i][0] = ages[i];
player[i][1] = scores[i];
}
// Sort
Arrays.sort(player,(a,b) -> a[0] == b[0] ? a[1] - b[1] : a[0] - b[0]);
int[] dp = new int[n];
dp[0] = player[0][1];
int ans = dp[0];
for(int i = 1;i < n;i++){
dp[i] = player[i][1];
for(int j = 0;j < i;j++){
// Without conflict
if(!(player[i][0] > player[j][0] && player[i][1] < player[j][1])){
dp[i] = Math.max(dp[i],dp[j] + player[i][1]);
}
}
ans = Math.max(ans,dp[i]);
}
return ans;
}
}边栏推荐
猜你喜欢
随机推荐
Talk about the realization of authority control and transaction record function of SAP system
Cesium (4): the reason why gltf model is very dark after loading
字节跳动高工面试,轻松入门flutter
C语言进阶——函数指针
Advanced C language -- function pointer
谎牛计数(春季每日一题 53)
全网“追杀”钟薛高
3000 words speak through HTTP cache
ATM system
Binary search tree (features)
Geoserver2.18 series (5): connect to SQLSERVER database
Set the route and optimize the URL in thinkphp3.2.3
Lie cow count (spring daily question 53)
[designmode] flyweight pattern
Pychart ide Download
Inner monologue of accidental promotion
time标准库
LeetCode 300. 最长递增子序列 每日一题
浅浅理解.net core的路由
【PHP】PHP接口继承及接口多继承原理与实现方法








