Count friend requests based on age rules
BloombergSoftware Engineer · Technical ScreenLast updated
This question evaluates algorithmic problem-solving skills involving array processing, counting and combinatorics under conditional constraints and frequency handling.
Problem
You are given an array ages, where ages[i] is the age of the i-th person. A person of age A will send a friend request to a person of age B if all conditions hold:
- (B > 0.5 \times A + 7)
- (B \le A)
Each request is directed (A→B). A person cannot send a request to themselves.
Return the total number of friend requests that will be sent.
Input
ages: integer array
Output
- An integer: total number of directed friend requests.
Constraints (you may assume typical interview bounds)
- (1 \le n \le 2\times 10^4)
- (1 \le ages[i] \le 120)
Examples
ages = [16, 16]
- Each 16-year-old can request the other (since (16 > 0.5\cdot16 + 7 = 15) and (16 \le 16))
- Total = 2
ages = [20, 30, 100, 110, 120]
- Compute total directed requests that satisfy the rules.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.