Solution: Rearranging Fruits
Let’s solve the Rearranging Fruits problem using the Greedy Techniques pattern.
We'll cover the following
Statement
Given two 0-indexed integer arrays, basket1
and basket2
, representing the cost of each fruit in the basket. Each basket contains
To achieve this, perform the following operation as many times as necessary:
Select two indexes,
and , and swap the fruit at index in basket1
with the fruit at indexin basket2
.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
Constraints:
basket1.length
basket2.length
basket1.length
basket1[i]
,basket2[i]
Solution
The idea behind this problem is to ensure that both baskets, basket1
and basket2
, contain the same number of each type of fruit. A simple approach can be to just swap the excess elements from both baskets until both baskets have the same number of occurrences of those elements.
Here’s how the approach will work:
Level up your interview prep. Join Educative to access 70+ hands-on prep courses.