Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 1 KB

Question_1194.md

File metadata and controls

23 lines (17 loc) · 1 KB

LeetCode Records - Question 1194 Tournament Winners

Attempt 1: Use pd.concat() to get all the player scores

import pandas as pd

def tournament_winners(players: pd.DataFrame, matches: pd.DataFrame) -> pd.DataFrame:
    first_player_scores = matches[['first_player', 'first_score']].rename(columns={'first_player': 'player_id', 'first_score': 'score'})
    second_player_scores = matches[['second_player', 'second_score']].rename(columns={'second_player': 'player_id', 'second_score': 'score'})

    scores = pd.concat([first_player_scores, second_player_scores])
    scores = scores.groupby('player_id')['score'].sum().reset_index()

    merged_df = pd.merge(players, scores, on='player_id')
    merged_df = merged_df.sort_values(['group_id', 'score', 'player_id'], ascending=[True, False, True])

    ans = merged_df.loc[merged_df.groupby('group_id')['score'].idxmax()]
    return ans[['group_id', 'player_id']]
  • Runtime: 427 ms (Beats: 82.14%)
  • Memory: 72.39 MB (Beats: 78.57%)