LeetCode Entry

3074. Apple Redistribution into Boxes

24.12.2025 easy 2025 kotlin rust

Min containers for all apples sort

3074. Apple Redistribution into Boxes easy blog post substack youtube

b4baba22-df27-4293-96e0-a74d93d0bb8d (1).webp

Join me on Telegram

https://t.me/leetcode_daily_unstoppable/1214

Problem TLDR

Min containers for all apples #easy #counting_sort

Intuition

Sum all apples. Take largest containers first.

Approach

  • (1..51).first for number of containers
  • sort by counting

Complexity

  • Time complexity: \(O(sort)\), the sort can be NlogN or N for counting

  • Space complexity: \(O(sort)\), Kotlin’s IntArray.sort is O(1) space complexity

Code

// 29ms
    fun minimumBoxes(a: IntArray, c: IntArray) =
        (1..c.size).first { a.sum() <= c.sortedDescending().take(it).sum() }
// 0ms
    pub fn minimum_boxes(a: Vec<i32>, c: Vec<i32>) -> i32 {
        let mut s = a.iter().sum::<i32>(); let mut f = [0;51];
        for c in c { f[c as usize] += 1 }; let mut j = 50;
        (1..51).find(|i| { while f[j] < 1 { j-=1 }; s -= j as i32; f[j] -= 1; s <= 0}).unwrap() as _
    }