FPEvalRepoPublic/LeetCodeMetaData
0399
1{2 "id": 2241,3 "name": "recover-the-original-array",4 "difficulty": "Hard",5 "link": "https://leetcode.com/problems/recover-the-original-array/",6 "date": "2021-12-19",7 "task_description": "Alice had a **0-indexed** array `arr` consisting of `n` **positive** integers. She chose an arbitrary **positive integer** `k` and created two new **0-indexed** integer arrays `lower` and `higher` in the following manner: `lower[i] = arr[i] - k`, for every index `i` where `0 <= i < n` `higher[i] = arr[i] + k`, for every index `i` where `0 <= i < n` Unfortunately, Alice lost all three arrays. However, she remembers the integers that were present in the arrays `lower` and `higher`, but not the array each integer belonged to. Help Alice and recover the original array. Given an array `nums` consisting of `2n` integers, where **exactly** `n` of the integers were present in `lower` and the remaining in `higher`, return _the **original** array_ `arr`. In case the answer is not unique, return _**any** valid array_. **Note:** The test cases are generated such that there exists **at least one** valid array `arr`. **Example 1:** ``` **Input:** nums = [2,10,6,4,8,12] **Output:** [3,7,11] **Explanation:** If arr = [3,7,11] and k = 1, we get lower = [2,6,10] and higher = [4,8,12]. Combining lower and higher gives us [2,6,10,4,8,12], which is a permutation of nums. Another valid possibility is that arr = [5,7,9] and k = 3. In that case, lower = [2,4,6] and higher = [8,10,12]. ``` **Example 2:** ``` **Input:** nums = [1,1,3,3] **Output:** [2,2] **Explanation:** If arr = [2,2] and k = 1, we get lower = [1,1] and higher = [3,3]. Combining lower and higher gives us [1,1,3,3], which is equal to nums. Note that arr cannot be [1,3] because in that case, the only possible way to obtain [1,1,3,3] is with k = 0. This is invalid since k must be positive. ``` **Example 3:** ``` **Input:** nums = [5,435] **Output:** [220] **Explanation:** The only possible combination is arr = [220] and k = 215. Using them, we get lower = [5] and higher = [435]. ``` **Constraints:** `2 * n == nums.length` `1 <= n <= 1000` `1 <= nums[i] <= 109` The test cases are generated such that there exists **at least one** valid array `arr`.",8 "test_case": [9 {10 "label": "Example 1",11 "input": "nums = [2,10,6,4,8,12]",12 "output": "[3,7,11] "13 },14 {15 "label": "Example 2",16 "input": "nums = [1,1,3,3]",17 "output": "[2,2] "18 },19 {20 "label": "Example 3",21 "input": "nums = [5,435]",22 "output": "[220] "23 }24 ],25 "constraints": [26 "2 * n == nums.length",27 "1 <= n <= 1000",28 "1 <= nums[i] <= 109",29 "The test cases are generated such that there exists at least one valid array arr."30 ],31 "python_template": "class Solution(object):\n def recoverArray(self, nums):\n \"\"\"\n :type nums: List[int]\n :rtype: List[int]\n \"\"\"\n ",32 "java_template": "class Solution {\n public int[] recoverArray(int[] nums) {\n \n }\n}",33 "metadata": {34 "func_name": "recoverArray"35 }36}