Leetcode刷题日志 Day1

24 阅读1分钟

题目链接: 2966. 划分数组并满足最大差限制 - 力扣(LeetCode)

【思路】 最主要的是子数组中任何2个元素的差必须小于等于n。即在代码排序之后,必须满足

  1. 按大小排序并划分为3个子数组
  2. 每3个一组暴力循环即可
class Solution:
    def divideArray(self, nums: List[int], k: int) -> List[List[int]]:
        nums.sort()
        res = []
        for i in range(0, len(nums), 3):
            if nums[i + 2] - nums[i] > k:
                return []
            res.append(nums[i : i + 3])
        return res