【具体思路】 关键字 :
- 差值最多为k
- 数量最少
【思路详述】
- 对数组进行排序
- 从最小元素开始,如果获取最小元素,并赋值目标元素为min+k,依次遍历
mindmap
排序数组
获取最小值
依次遍历
如果小于最小值加k
遍历下一个元素
如果大于最小值加k
更新最小值
res+1
class Solution:
def partitionArray(self, nums: list[int], k: int) -> int:
nums.sort()
ans = 1
rec = nums[0]
for num in nums:
if num - rec > k:
ans += 1
rec = num
return ans