最新文章
1818. 绝对值差和
给定两个正整数数组 nums1 和 nums2,长度均为 n。绝对差值和定义为所有 |nums1[i] - nums2[i]|(0 <= i < n)的总和。可以选用 nums1 中的任意一个元素来替换 nums1 中的至多一个元素,以最小化绝对差值和。需要处理边界条件以确保正确替换。使用二分查找找到最适合用于替换当前元素的元素,使绝对差值和最小。最终得到替换后的最小绝对差值和。
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]输出:
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 个数。
原来 Python 也有重载
Python作为一门动态语言,其实并不需要重载,但是如果你愿意的话,可以显式的声明重载。先简单介绍下什么是重载(Overload)。重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。提出问题简单的举个例子。现在有一个get函数,接收参数v,v的类型
Python中的泛型
不知道从什么时候起,我写Python代码习惯给变量加上类型注解。这虽然降低了Python的灵活性,但确确实实在后续维护的过程中提供了很好的帮助。第一次听到泛型这个词,是在Java中了解到的,但具体做什么,有什么作用,都是比较模糊的。因为我本身对Java只是了解并且也没有用Java做过什么实际项目,所