Your question is Top N Elements Function. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Heartflow analysis workflows may produce a list of numeric scores that must be prioritized for review. Given a list of scores, return the n largest values efficiently without fully sorting the list.
Implement top_n_scores(scores, n), where scores is a list of integers or floating-point numbers and n is a positive integer. Return a new list containing exactly the n largest values, including duplicate values, ordered from largest to smallest. The input list must not be modified.
Use an approach that is efficient when n is much smaller than the number of scores.
def top_n_scores(scores, n):