Mkdir700's Note

Mkdir700's Note

双指针

611. 有效三角形的个数

611. 有效三角形的个数

描述给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。示例 1:输入: nums = [2,2,3,4]输出: 3**解释:**有效的组合是:2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3示例 2:输入: nums = [4,2,3,4]输出:
592
0
0
2022-08-28
658. 找到 K 个最接近的元素

658. 找到 K 个最接近的元素

给定一个排序好的数组 arr,两个整数 k 和 x,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须按升序排好。根据题解,可以使用滑动窗口的方法,从数组两端开始移除元素,直到剩下 k 个最接近 x 的数。代码实现如下: ```python class Solution: def findClosestElements(self, arr: List[int], k: int, x: int) -> List[int]: n = len(arr) left, right = 0, n - 1 remove = n - k for _ in range(remove): if abs(arr[left] - x) > abs(arr[right] - x): left += 1 else: right -= 1 return arr[left: right + 1] ``` 通过这种方法,可以高效地找到最接近 x 的 k 个数。