leetcode

作者: 奋发的consistent | 来源:发表于2019-05-09 10:59 被阅读0次

week1F

两数之和-链表 代码

测试 l1 = [5]; l2=[5] 和 l1 = [1]; l2=[9,9] 测试总是不能通过,最后发现原因出在cur指到None时候,我重新生成一个节点,但是却没有和之前的结果链表链接起来,只是一个孤立的节点。

不停提交导致通过率异常低,最后才发现居然可以修改测试样例先测好了再提交....功能也是非常强大了...

914 求最大公约数

set(list) 列表转化为集合,list.count(num) 返回 list中num元素的出现次数  => 用这两个函数可以快速地生成一个统计列表元素及其频次的字典

min(dict.values()) 求出字典中的最小值

sum(map(a.count,b))统计a中字符在b中出现的次数

sum(iterable[,start])可迭代对象

week2

twoSum

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 

1038. Binary Search Tree to Greater Sum Tree

python 中没有NULL而是使用 None

复习了一遍二叉树的递归遍历方法

1005. Maximize Sum Of Array After K Negations

sum(arr) 返回总和

else if  而是 elif

评论区看见一个更简洁的利用堆排序模块

heapq

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%的方法:

ToLowerCase

    我试过将其转化为一句话  return ''.join(chr(c+32) if 64<c<91 else chr(c) for c in stack) 但是运行时间要更长一些。原因待查。

相关文章

网友评论

      本文标题:leetcode

      本文链接:https://www.haomeiwen.com/subject/pqlwiqtx.html