FPEvalDataset/LeetCodeProblem
0302
1{2 "id": 2257,3 "name": "earliest_possible_day_of_full_bloom",4 "difficulty": "Hard",5 "link": "https://leetcode.com/problems/earliest-possible-day-of-full-bloom/",6 "date": "1641081600000",7 "task_description": "You have `n` flower seeds. Every seed must be planted first before it can begin to grow, then bloom. Planting a seed takes time and so does the growth of a seed. You are given two **0-indexed** integer arrays `plantTime` and `growTime`, of length `n` each: `plantTime[i]` is the number of **full days** it takes you to **plant** the `ith` seed. Every day, you can work on planting exactly one seed. You **do not** have to work on planting the same seed on consecutive days, but the planting of a seed is not complete **until** you have worked `plantTime[i]` days on planting it in total. `growTime[i]` is the number of **full days** it takes the `ith` seed to grow after being completely planted. **After** the last day of its growth, the flower **blooms** and stays bloomed forever. From the beginning of day `0`, you can plant the seeds in **any** order. Return _the **earliest** possible day where **all** seeds are blooming_. **Example 1:** ``` **Input:** plantTime = [1,4,3], growTime = [2,3,1] **Output:** 9 **Explanation:** The grayed out pots represent planting days, colored pots represent growing days, and the flower represents the day it blooms. One optimal way is: On day 0, plant the 0th seed. The seed grows for 2 full days and blooms on day 3. On days 1, 2, 3, and 4, plant the 1st seed. The seed grows for 3 full days and blooms on day 8. On days 5, 6, and 7, plant the 2nd seed. The seed grows for 1 full day and blooms on day 9. Thus, on day 9, all the seeds are blooming. ``` **Example 2:** ``` **Input:** plantTime = [1,2,3,2], growTime = [2,1,2,1] **Output:** 9 **Explanation:** The grayed out pots represent planting days, colored pots represent growing days, and the flower represents the day it blooms. One optimal way is: On day 1, plant the 0th seed. The seed grows for 2 full days and blooms on day 4. On days 0 and 3, plant the 1st seed. The seed grows for 1 full day and blooms on day 5. On days 2, 4, and 5, plant the 2nd seed. The seed grows for 2 full days and blooms on day 8. On days 6 and 7, plant the 3rd seed. The seed grows for 1 full day and blooms on day 9. Thus, on day 9, all the seeds are blooming. ``` **Example 3:** ``` **Input:** plantTime = [1], growTime = [1] **Output:** 2 **Explanation:** On day 0, plant the 0th seed. The seed grows for 1 full day and blooms on day 2. Thus, on day 2, all the seeds are blooming. ``` **Constraints:** `n == plantTime.length == growTime.length` `1 <= n <= 105` `1 <= plantTime[i], growTime[i] <= 104`",8 "public_test_cases": [9 {10 "label": "Example 1",11 "input": "plantTime = [1,4,3], growTime = [2,3,1]",12 "output": "9 "13 },14 {15 "label": "Example 2",16 "input": "plantTime = [1,2,3,2], growTime = [2,1,2,1]",17 "output": "9 "18 },19 {20 "label": "Example 3",21 "input": "plantTime = [1], growTime = [1]",22 "output": "2 "23 }24 ],25 "private_test_cases": [],26 "haskell_template": "earliestFullBloom :: [Int] -> [Int] -> Int\nearliestFullBloom plantTime growTime ",27 "ocaml_template": "let earliestFullBloom (plantTime: int list) (growTime: int list) : int = ",28 "scala_template": "def earliestFullBloom(plantTime: List[Int],growTime: List[Int]): Int = { \n \n}",29 "java_template": "public static int earliestFullBloom(List<Integer> plantTime, List<Integer> growTime) {\n\n}",30 "python_template": "class Solution(object):\n def earliestFullBloom(self, plantTime, growTime):\n \"\"\"\n :type plantTime: List[int]\n :type growTime: List[int]\n :rtype: int\n \"\"\"\n "31}