diff options
author | Jack Sangdahl <[email protected]> | 2025-06-18 20:48:11 -0600 |
---|---|---|
committer | Jack Sangdahl <[email protected]> | 2025-06-18 20:48:11 -0600 |
commit | d164977cebec7be669ff3c0beb9703b89efbb6b2 (patch) | |
tree | abc6078d897b9c609e7aaf000fb454567f32fcf6 /partition_arr_max_diff_k.py | |
parent | f2349693f5c352357a135454fde298f109b2198a (diff) | |
download | leetcode-d164977cebec7be669ff3c0beb9703b89efbb6b2.tar.gz leetcode-d164977cebec7be669ff3c0beb9703b89efbb6b2.zip |
2294. partition array such that maximum difference is k
Diffstat (limited to 'partition_arr_max_diff_k.py')
-rw-r--r-- | partition_arr_max_diff_k.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/partition_arr_max_diff_k.py b/partition_arr_max_diff_k.py new file mode 100644 index 0000000..555cdf9 --- /dev/null +++ b/partition_arr_max_diff_k.py @@ -0,0 +1,34 @@ +# 2294. Partition Array Such That Maximum Difference Is K + +""" +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. +""" + + +class Solution(object): + def partitionArray(self, nums, k): + """ + :type nums: List[int] + :type k: int + :rtype: int + """ + nums.sort() + ans, j = 1, 0 + for i in range(len(nums)): + if nums[i] - nums[j] > k: + ans += 1 + j = i + return ans + + +if __name__ == "__main__": + obj = Solution() + print(obj.partitionArray(nums=[3, 6, 1, 2, 5], k=2)) + print(obj.partitionArray(nums=[1, 2, 3], k=1)) + print(obj.partitionArray(nums=[2, 2, 4, 5], k=0)) |