Quick Overview

This question evaluates algorithmic problem-solving skills involving array processing, counting and combinatorics under conditional constraints and frequency handling.

Count friend requests based on age rules

Company: Bloomberg

Role: Software Engineer

Category: Coding & Algorithms

Difficulty: medium

Interview Round: Technical Screen

## 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: 1. \(B > 0.5 \times A + 7\) 2. \(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 1) `ages = [16, 16]` - Each 16-year-old can request the other (since \(16 > 0.5\cdot16 + 7 = 15\) and \(16 \le 16\)) - Total = 2 2) `ages = [20, 30, 100, 110, 120]` - Compute total directed requests that satisfy the rules.

Overview: This question evaluates algorithmic problem-solving skills involving array processing, counting and combinatorics under conditional constraints and frequency handling.

Read the full Bloomberg Software Engineer interview experience this question came from

Count ordered friend requests between people using the standard age rules.

Constraints

  • Inputs are provided as Python literals compatible with the function signature.
  • Return a deterministic value exactly matching the requested output.

Examples

Input: ([16, 16],)

Expected Output: 2

Explanation: Two reciprocal requests.

Input: ([16, 17, 18],)

Expected Output: 2

Explanation: Mixed ages.

Hints

  1. Start with a direct data structure representation.
  2. Handle edge cases before the main loop.

Loading coding console...