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.

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

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...