-
Notifications
You must be signed in to change notification settings - Fork 0
/
sort-the-students-by-their-kth-score_2545.py
47 lines (30 loc) · 1.8 KB
/
sort-the-students-by-their-kth-score_2545.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# There is a class with m students and n exams. You are given a 0-indexed m x n integer matrix score, where each row represents one student and score[i][j] denotes the score the ith student got in the jth exam. The matrix score contains distinct integers only.
# You are also given an integer k. Sort the students (i.e., the rows of the matrix) by their scores in the kth (0-indexed) exam from the highest to the lowest.
# Return the matrix after sorting it.
# Example 1:
# Input: score = [[10,6,9,1],[7,5,11,2],[4,8,3,15]], k = 2
# Output: [[7,5,11,2],[10,6,9,1],[4,8,3,15]]
# Explanation: In the above diagram, S denotes the student, while E denotes the exam.
# - The student with index 1 scored 11 in exam 2, which is the highest score, so they got first place.
# - The student with index 0 scored 9 in exam 2, which is the second highest score, so they got second place.
# - The student with index 2 scored 3 in exam 2, which is the lowest score, so they got third place.
# Example 2:
# Input: score = [[3,4],[5,6]], k = 0
# Output: [[5,6],[3,4]]
# Explanation: In the above diagram, S denotes the student, while E denotes the exam.
# - The student with index 1 scored 5 in exam 0, which is the highest score, so they got first place.
# - The student with index 0 scored 3 in exam 0, which is the lowest score, so they got second place.
# Constraints:
# m == score.length
# n == score[i].length
# 1 <= m, n <= 250
# 1 <= score[i][j] <= 105
# score consists of distinct integers.
# 0 <= k < n
# ---------------------------------------Runtime 323 ms Beats 68.78% Memory 22.30 MB Beats 99.67%---------------------------------------
from typing import List
class Solution:
def sortTheStudents(
self, score: List[List[int]], k: int
) -> List[List[int]]:
return sorted(score, key=lambda x: x[k] * -1)