katherinefanfan

katherinefanfan @katherinefanfan

  • 插入代码段
    >>> list(itertools.combinations('abc', 2)) [('a', 'b'), ('a', 'c'), ('b', 'c')] >>> list(itertools.permutations('abc',2)) [('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'c'), ('c', 'a'), ('c', 'b')]
  • 题目
    20. Valid Parentheses 查找对应关系借助dict,dict.keys(), dict.values() 19. Remove Nth Node from end of list 借助stack def removeNthFromEnd(self, head, n): self.next, nodelist = head, [self] #
  • Python标准库
    1. Counter from Collections 用来跟踪值出现的次数, 以字典键值对形式储存 建立: c = Counter({'a': 4, 'b': 2}) # 从一个字典对象创建 c = Counter(a=4, b=2) c = Counter("abcdefgab") 计数值访问: c["a"]
  • Math
  • 还有一些知识点
    1.shadow copy和deep copy copy对于一个复杂对象的子对象并不会完全复制,什么是复杂对象的子对象呢?就比如序列里的嵌套序列,字典里的嵌套序列等都是复杂对象的子对象。对于子对象,python会把它当作一个公共镜像存储起来,所有对他的复制都被当成一个引用,所以说当其中一个引用将镜像改变了之后另一个引用使用镜像的时候镜像已经被改变了。 deepcopy的时候会将复杂对象的每一层
  • Sort
    总结:179题 https://www.runoob.com/w3cnote/sort-algorithm-summary.html 冒泡排序 bubble sort 平均复杂度: o(n2) 从小到大排序: 比较相邻两数,如果后面的数小,则交换位置 从后向前比较,一直比到最前面两个数 重复上述过程,将第2,3,...n-1个最小数排好顺序 外循环(len - 1)次,内循环从后向前
  • 未解决的问题
    工作中要求的最好是只有一个return,写题发现各个地方return很方便,一般规则是什么? 15题3Sum超时311/313超时 class Solution: def threeSum(self, nums): nums.sort() list1 = [] res = []
  • 题目
    56. Merge intervals result = [] intervals.sort(key=lambda x: x.start) l = 0 last = intervals[l] for curr in intervals[1:]: if last.end >= curr.st