Find the Child Who Has the Ball After K Seconds - Problem
You are given two positive integers n and k. There are n children numbered from 0 to n - 1 standing in a queue in order from left to right.
Initially, child 0 holds a ball and the direction of passing the ball is towards the right direction. After each second, the child holding the ball passes it to the child next to them. Once the ball reaches either end of the line, i.e. child 0 or child n - 1, the direction of passing is reversed.
Return the number of the child who receives the ball after k seconds.
Input & Output
Example 1 — Basic Case
$
Input:
n = 3, k = 5
›
Output:
1
💡 Note:
Ball moves: 0→1→2→1→0→1. After 5 seconds, ball is at position 1.
Example 2 — Reaches End
$
Input:
n = 5, k = 6
›
Output:
2
💡 Note:
Ball moves: 0→1→2→3→4→3→2. After 6 seconds, ball is at position 2.
Example 3 — Single Child
$
Input:
n = 1, k = 10
›
Output:
0
💡 Note:
Only one child, so ball always stays at position 0.
Constraints
- 1 ≤ n ≤ 50
- 1 ≤ k ≤ 50
Visualization
Tap to expand
Understanding the Visualization
1
Input
n children in line, k seconds to simulate
2
Process
Ball bounces back and forth between ends
3
Output
Position of child holding ball after k seconds
Key Takeaway
🎯 Key Insight: The ball follows a predictable zigzag pattern that can be solved with modular arithmetic
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code