Problem · Array

Maximize Engagement

Learn this problem
EasyTiktokINTERNOA
See Tiktok hiring insights

Problem 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[]) → long

Examples

Example 1

views = [2, 3, 4, 5, 6]likes = [4, 6, 5, 7, 3]return = 25

Rearrange 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 = 10

One 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 = 18

Rearrange likes to [4, 2, 9, 5]. The winning values sum to 4 + 9 + 5 = 18.

Constraints

  • 1 <= views.length = likes.length <= 2 * 10^5
  • 1 <= views[i], likes[i] <= 10^9

More Tiktok problems

drafts saved locally
public long getMaxEngagementScore(int[] views, int[] likes) {
  // Write your code here.
}
views[2, 3, 4, 5, 6]
likes[4, 6, 5, 7, 3]
expected25
checking account