BackmediumBit ManipulationGoogleAmazon

Tome Cache Validator 35 Solution

Problem Statement

Given an array of metrics and an integer K, return the sum of the K largest numbers in the array.

Example 1
Input
[10, 20, 30, 40, 50], 3
Output
120

Explanation: Step-by-step: with input [10, 20, 30, 40, 50] and K = 3, we sort the array in descending order to get [50, 40, 30, 20, 10]. Then, we sum the 3 largest numbers: 50 + 40 + 30 = 120.

Example 2
Input
[1, 2, 3, 4, 5], 2
Output
9

Explanation: Step-by-step: with input [1, 2, 3, 4, 5] and K = 2, we sort the array in descending order to get [5, 4, 3, 2, 1]. Then, we sum the 2 largest numbers: 5 + 4 = 9.

Constraints

  • 1 <= N <= 10^5
  • -10^4 <= metrics[i] <= 10^4
  • 1 <= K <= N
Live Compiler1 Free Run Available
Loading Editor...
Test Cases & Output
Click "Run" to test your 1 free compile trial!

🚀 Practice this problem

Run code, get AI hints & track streak

Sign Up Free

Tome Cache Validator 35 — Problem Statement & Solution Guide

Bit ManipulationMediumMonotonic Stack
TimeO(n log n)
|
SpaceO(1)

Problem Description

Given an array of metrics and an integer K, return the sum of the K largest numbers in the array.

Examples

Example 1

Input

[10, 20, 30, 40, 50], 3

Output

120

Explanation: Step-by-step: with input [10, 20, 30, 40, 50] and K = 3, we sort the array in descending order to get [50, 40, 30, 20, 10]. Then, we sum the 3 largest numbers: 50 + 40 + 30 = 120.

Example 2

Input

[1, 2, 3, 4, 5], 2

Output

9

Explanation: Step-by-step: with input [1, 2, 3, 4, 5] and K = 2, we sort the array in descending order to get [5, 4, 3, 2, 1]. Then, we sum the 2 largest numbers: 5 + 4 = 9.

Constraints

  • 1 <= N <= 10^5
  • -10^4 <= metrics[i] <= 10^4
  • 1 <= K <= N

Optimal Approach & Strategy

Use Monotonic Stack technique to process inputs in O(N) linear time.

Brute Force Approach

Check all possible combinations in O(N^2) time.

Verified Code Solutions

JavaScript Solution
Time: O(n log n)
function solution(nums, k) { return nums.sort((a, b) => b - a).slice(0, k).reduce((a, b) => a + b, 0); }

Asked in Top Tech Interviews

GoogleAmazonMicrosoft

Solve in Interative Editor

Ready to test your code? Open our built-in compiler, run custom test suites, and see detailed complexity analysis reports instantly.