Problem · Array
Maximize Engagement
Learn this problemProblem statement
You are given two integer arrays, views and likes, of the same length. The value at each index describes one video.
You may rearrange likes in any order, while views must remain fixed. After rearrangement, the engagement score is the sum of every likes[i] for which likes[i] > views[i].
Return the maximum engagement score obtainable by rearranging likes.
Function
getMaxEngagementScore(views: int[], likes: int[]) → longExamples
Example 1
views = [2, 3, 4, 5, 6]likes = [4, 6, 5, 7, 3]return = 25Rearrange likes to [3, 4, 5, 6, 7]. Every value exceeds the corresponding value in views, so the score is 3 + 4 + 5 + 6 + 7 = 25.
Example 2
views = [2, 5, 3, 2, 4]likes = [3, 4, 2, 3, 3]return = 10One optimal rearrangement is [3, 2, 4, 3, 3]. The winning values are 3, 4, and 3, giving a score of 10.
Example 3
views = [2, 10, 5, 3]likes = [9, 5, 4, 2]return = 18Rearrange likes to [4, 2, 9, 5]. The winning values sum to 4 + 9 + 5 = 18.
Constraints
1 <= views.length = likes.length <= 2 * 10^51 <= views[i], likes[i] <= 10^9