2115. Find All Possible Recipes from Given Supplies
2115. Find All Possible Recipes from Given Supplies
Description
You have information about n
different recipes. You are given a string array recipes
and a 2D string array ingredients
. The i^th
recipe has the name recipes[i]
, and you can create it if you have all the needed ingredients from ingredients[i]
. A recipe can also be an ingredient for other recipes, i.e., ingredients[i]
may contain a string that is in recipes
.
You are also given a string array supplies
containing all the ingredients that you initially have, and you have an infinite supply of all of them.
Return a list of all the recipes that you can create. You may return the answer in any order .
Note that two recipes may contain each other in their ingredients.
Example 1:
1 | Input: recipes = ["bread"], ingredients = [["yeast","flour"]], supplies = ["yeast","flour","corn"] |
Example 2:
1 | Input: recipes = ["bread","sandwich"], ingredients = [["yeast","flour"],["bread","meat"]], supplies = ["yeast","flour","meat"] |
Example 3:
1 | Input: recipes = ["bread","sandwich","burger"], ingredients = [["yeast","flour"],["bread","meat"],["sandwich","meat","bread"]], supplies = ["yeast","flour","meat"] |
Constraints:
n == recipes.length == ingredients.length
1 <= n <= 100
1 <= ingredients[i].length, supplies.length <= 100
1 <= recipes[i].length, ingredients[i][j].length, supplies[k].length <= 10
recipes[i], ingredients[i][j]
, andsupplies[k]
consist only of lowercase English letters.- All the values of
recipes
andsupplies
combined are unique. - Each
ingredients[i]
does not contain any duplicate values.
Hints/Notes
- 2025/04/21 Q2
- topological sort
- Leetcode solution
Solution
Language: C++
1 | class Solution { |