用LeetCode开始刷题,感觉会学到一些零散的东西,拿来记一记。
希望可以帮到来人
网站记录
如何科学上分?,不得不说,灵神确实做了一个造福众人的设计。
还有灵神的课,可以说很有益处
9/29
同时调用两个列表中的函数
1 2 3 4 5 6
| class Solution: def sortPeople(self, names: List[str], heights: List[int]) -> List[str]: mix = [(name, height) for name, height in zip(names, heights)] mix = sorted(mix, key=lambda x: x[1]) sorted_names = [name for name, _ in mix] return sorted_names
|
同时调用列表的位置和数值
1 2 3
| s = ["hello", "world"] for i, j in enumerate(s): print("position = ", i,"key = ", j)
|
集合增加使用.add()
1 2 3
| dic = set() for i in range(len(s) - k + 1): dic.add(s[i:i+k])
|
使用add()
用来为集合增加元素。
使用map
map
可以用来表示多个函数,如下
1 2 3 4 5 6 7 8 9 10 11 12 13
| def add(x, y): return x + y
list1 = [1, 2, 3]; list2 = [4, 5, 6]
result = map(add, list1, list2)
result_list = list(result) print(result_list)
|
得到结果,如下。
10/2023
使用链表
其实我想吐槽为什么Python还要用链表,直接列表不好吗?(小白发问)
对于链表头的调用,直接调用即可。。。
二分查找
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| def bisect_right(a, x, l=0, r=None):
if l < 0:
raise ValueError('lo must be non-negative')
if r is None:
r = len(a)
while l < r:
mid = (l+r)//2
if x < a[mid]:
r = mid
else:
l = mid+1
return l
def bisect_left(a, x, l=0, r=None):
if l < 0:
raise ValueError('lo must be non-negative')
if r is None:
r = len(a)
while l < r:
mid = (l+r)//2
if a[mid] < x:
l = mid+1
else:
r = mid
return l
|