FPEvalRepoPublic/LeetCodeMetaData
0399
1{2 "id": 2387,3 "name": "partition-array-such-that-maximum-difference-is-k",4 "difficulty": "Medium",5 "link": "https://leetcode.com/problems/partition-array-such-that-maximum-difference-is-k/",6 "date": "2022-05-29",7 "task_description": "You are given an integer array `nums` and an integer `k`. You may partition `nums` into one or more **subsequences** such that each element in `nums` appears in **exactly** one of the subsequences. Return _the **minimum **number of subsequences needed such that the difference between the maximum and minimum values in each subsequence is **at most** _`k`_._ A **subsequence** is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements. **Example 1:** ``` **Input:** nums = [3,6,1,2,5], k = 2 **Output:** 2 **Explanation:** We can partition nums into the two subsequences [3,1,2] and [6,5]. The difference between the maximum and minimum value in the first subsequence is 3 - 1 = 2. The difference between the maximum and minimum value in the second subsequence is 6 - 5 = 1. Since two subsequences were created, we return 2. It can be shown that 2 is the minimum number of subsequences needed. ``` **Example 2:** ``` **Input:** nums = [1,2,3], k = 1 **Output:** 2 **Explanation:** We can partition nums into the two subsequences [1,2] and [3]. The difference between the maximum and minimum value in the first subsequence is 2 - 1 = 1. The difference between the maximum and minimum value in the second subsequence is 3 - 3 = 0. Since two subsequences were created, we return 2. Note that another optimal solution is to partition nums into the two subsequences [1] and [2,3]. ``` **Example 3:** ``` **Input:** nums = [2,2,4,5], k = 0 **Output:** 3 **Explanation:** We can partition nums into the three subsequences [2,2], [4], and [5]. The difference between the maximum and minimum value in the first subsequences is 2 - 2 = 0. The difference between the maximum and minimum value in the second subsequences is 4 - 4 = 0. The difference between the maximum and minimum value in the third subsequences is 5 - 5 = 0. Since three subsequences were created, we return 3. It can be shown that 3 is the minimum number of subsequences needed. ``` **Constraints:** `1 <= nums.length <= 105` `0 <= nums[i] <= 105` `0 <= k <= 105`",8 "test_case": [9 {10 "label": "Example 1",11 "input": "nums = [3,6,1,2,5], k = 2",12 "output": "2 "13 },14 {15 "label": "Example 2",16 "input": "nums = [1,2,3], k = 1",17 "output": "2 "18 },19 {20 "label": "Example 3",21 "input": "nums = [2,2,4,5], k = 0",22 "output": "3 "23 }24 ],25 "constraints": [26 "1 <= nums.length <= 105",27 "0 <= nums[i] <= 105",28 "0 <= k <= 105"29 ],30 "python_template": "class Solution(object):\n def partitionArray(self, nums, k):\n \"\"\"\n :type nums: List[int]\n :type k: int\n :rtype: int\n \"\"\"\n ",31 "java_template": "class Solution {\n public int partitionArray(int[] nums, int k) {\n \n }\n}",32 "metadata": {33 "func_name": "partitionArray"34 }35}