week1F
测试 l1 = [5]; l2=[5] 和 l1 = [1]; l2=[9,9] 测试总是不能通过,最后发现原因出在cur指到None时候,我重新生成一个节点,但是却没有和之前的结果链表链接起来,只是一个孤立的节点。
不停提交导致通过率异常低,最后才发现居然可以修改测试样例先测好了再提交....功能也是非常强大了...
set(list) 列表转化为集合,list.count(num) 返回 list中num元素的出现次数 => 用这两个函数可以快速地生成一个统计列表元素及其频次的字典
min(dict.values()) 求出字典中的最小值
sum(map(a.count,b))统计a中字符在b中出现的次数
sum(iterable[,start])可迭代对象
week2
hash table 检索速度O(1)
for i,num in enumerate(list): 循环列表
value not in list 判断元素是否在列表中
list1 + list2 返回拼接两个列表的列表
list.sort() 返回空值 list变为已排序状态
float(int) 将int类型转化为float类型
list[ int//2 ] 列表下标必须取整数,/ 的结果是浮点数
加上两个参数均为空列表的判断,速度 72ms -> 56ms !
list 不能通过赋值向列表中添加元素,添加元素使用 append()方法
for idx,val in enumerate(str): 可用于循环字符串
''.join(list) 可用于将list拼接为str
list(str) 将str转化为list
list = ['']*len 以空字符初始化长度为len的列表
list 是关键字,不能作为变量名
a = list1[0] 修改a中的值,list1 中的值也会改变
[max(row) for row in grid] [max(col) for col in zip(*grid)]获取双重列表的行最大值列表/列最大值列表
sum(min(a[c],b[r]) - val for r,row in enumerate(grid) for c,val in enumerate(row))
sum(map(sum,grid)) 二维数组求和
week 11
python 中没有NULL而是使用 None
复习了一遍二叉树的递归遍历方法
sum(arr) 返回总和
else if 而是 elif
评论区看见一个更简洁的利用堆排序模块
709. To Lower Case
Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.
将字符串中的大写字母转化为小写字母
python中有内置的方法 str.lower() 即可str转化为小写。
beats 100%的方法:
我试过将其转化为一句话 return ''.join(chr(c+32) if 64<c<91 else chr(c) for c in stack) 但是运行时间要更长一些。原因待查。