703470. Chocolate Station

Easy

Here is a detailed markdown blog post for the "Chocolate Station" problem:

Chocolate Station

Slug: chocolate-station2951 Difficulty: Easy Id: 703470 Topic Tags: Arrays, Data Structures Company Tags: Amazon

Summary

The Chocolate Station problem involves distributing chocolates to students in a school. The goal is to ensure that each student receives a certain number of chocolates, given the total number of chocolates and the number of students. This problem requires an understanding of arrays and data structures.

Detailed Explanation

The problem can be broken down into two parts: allocating chocolates to students and then distributing them based on the requirement. Let's consider this step by step:

  • First, calculate the total number of chocolates each student should receive (total chocolates ÷ total students).
  • Initialize an array to store the number of chocolates allocated to each student.
  • Iterate through the array, starting from 0, and allocate the calculated number of chocolates to each student.
  • Finally, distribute the remaining chocolates among the students based on their initial allocation.

Here's a simple example:

Suppose we have 10 students and 20 chocolates. Each student should receive 2 chocolates (20 ÷ 10). The array would be initialized as [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]. We then allocate 2 chocolates to each student, resulting in an array of [2, 2, 2, 2, 2, 2, 2, 2, 2, 2].

Time complexity for this solution is O(n), where n is the number of students. Space complexity is also O(n) as we are using an array to store the allocated chocolates.

Optimized Solutions

Java

View on GeeksforGeeks
public class ChocolateStation {
    public static void distributeChocolates(int totalChocolates, int totalStudents) {
        if (totalChocolates < 0 || totalStudents < 1) {
            return;
        }

        int chocolatesPerStudent = totalChocolates / totalStudents;

        // Calculate the remaining chocolates
        int remainingChocolates = totalChocolates % totalStudents;

        for (int i = 0; i < totalStudents; i++) {
            System.out.println("Student " + (i + 1) + ": " + chocolatesPerStudent);
        }

        // Distribute the remaining chocolates
        for (int i = 0; i < remainingChocolates; i++) {
            System.out.println("Distributed a chocolate to student " + (totalStudents - i));
        }
    }
}

DevExCode

Master coding interviews with Leetcode, system design, TechBit, QuickLearn, DevTips, Tech Battles, and career services.

© 2026 DevExCode. All rights reserved.