1. 解题思路
这一题思路上来说其实很简单,想清楚这个问题必然是有序排列之后三个三个组成一组即可。
2. 代码实现
给出python代码实现如下:
class Solution:
def divideArray(self, nums: List[int], k: int) -> List[List[int]]:
n = len(nums)
if n % 3 != 0:
return []
nums = sorted(nums)
ans = [[nums[i*3], nums[i*3+1], nums[i*3+2]] for i in range(n // 3)]
return ans if all(x[2]-x[0] <= k for x in ans) else []
提交代码评测得到:耗时828ms,占用内存31.6MB。