Leetcode刷题日志Day2-每日一题

37 阅读1分钟

对应链接:2294. 划分数组使最大差为 K - 力扣(LeetCode)

【具体思路】 关键字 :

  1. 差值最多为k
  2. 数量最少

【思路详述】

  1. 对数组进行排序
  2. 从最小元素开始,如果获取最小元素,并赋值目标元素为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