Problem
Ask
Submissions

Problem: Rearranging Fruits

Medium
30 min
Explore how to apply greedy algorithms to efficiently rearrange two arrays representing fruit costs. Learn to calculate the minimum cost of making two baskets identical by swapping elements, and understand when the task is impossible. This lesson helps develop problem-solving strategies for optimization problems in coding interviews.

Statement

Given two 0-indexed integer arrays, basket1 and basket2, representing the cost of each fruit in the basket. Each basket contains nn fruits. Make the two baskets identical, i.e., both arrays should have the same costs.

To achieve this, perform the following operation as many times as necessary:

  1. Select two indexes, ii and jj, and swap the fruit at index ii in basket1 with the fruit at index jj in basket2.

  2. The cost of this swap is min(basket1[i], basket2[j]).

The two baskets are considered identical if, after sorting the fruits by cost, both baskets contain exactly the same costs.

Return the minimum cost required to make the baskets identical, or 1-1 if it is impossible.

Constraints:

  • basket1.length == basket2.length

  • 11 \leq basket1.length 103\leq 10^3

  • 11 \leq basket1[i], basket2[i] 104\leq 10^4

Problem
Ask
Submissions

Problem: Rearranging Fruits

Medium
30 min
Explore how to apply greedy algorithms to efficiently rearrange two arrays representing fruit costs. Learn to calculate the minimum cost of making two baskets identical by swapping elements, and understand when the task is impossible. This lesson helps develop problem-solving strategies for optimization problems in coding interviews.

Statement

Given two 0-indexed integer arrays, basket1 and basket2, representing the cost of each fruit in the basket. Each basket contains nn fruits. Make the two baskets identical, i.e., both arrays should have the same costs.

To achieve this, perform the following operation as many times as necessary:

  1. Select two indexes, ii and jj, and swap the fruit at index ii in basket1 with the fruit at index jj in basket2.

  2. The cost of this swap is min(basket1[i], basket2[j]).

The two baskets are considered identical if, after sorting the fruits by cost, both baskets contain exactly the same costs.

Return the minimum cost required to make the baskets identical, or 1-1 if it is impossible.

Constraints:

  • basket1.length == basket2.length

  • 11 \leq basket1.length 103\leq 10^3

  • 11 \leq basket1[i], basket2[i] 104\leq 10^4