• Leetcode Python笔记


    刷leetcode,回顾一些python的方法和知识点:

    • enumerate(iterable, start=0) 枚举方法,iterable参数必须是一个序列(sequence),迭代器(iterator)或者一些其他的可供迭代的对象(object)。start参数为下标起始位置,默认为0。enumerate() 将可迭代的对象组合成索引序列,同时列出索引和对应数据。常用于for循环当中。 官方代码举例:
      >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
      >>> list(enumerate(seasons))
      [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
      >>> list(enumerate(seasons, start=1))
      [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

      等同于:

      1 def enumerate(sequence, start=0):
      2     n = start
      3     for elem in sequence:
      4         yield n, elem
      5         n += 1

      用于for循环:

      1 for i,j in enumerate(seasons):
      2     print(i,j)

      输出:

      0 Spring
      1 Summer
      2 Fall
      3 Winter

       (2020/4/9出现于两数之和,在python中用字典模拟hash表,牺牲空间复杂度换取时间复杂度)

    • divmod(a, b)将两个非复数作为参数,返回由他们的商(quotient)和余数(remainder)组成的元组(tuple)(a // b, a % b).,也可用于浮点数的操作,复数不行(python3.6版本)
      >>>divmod(7, 2)
      (3, 1)

      (2020/4/10两数相加,处理链表,逐位相加,用divmod处理进位,注意空链表的情况)

    • 关于列表的操作 

      添加/合并:

      list.append(obj) 在列表末尾添加对象
      list.extend(seq) 在列表末尾添加seq序列的所有元素,实现列表的合并
      + 操作符: 列表使用“+”相加实现列表的合并,效果同extend()
      list.insert(index, obj) 将指定对象插入到列表中指定位置处

      删除:

      list.pop([index=-1]) 将列表指定位置的元素弹出(默认最后一个),并且返回值为弹出的元素
      list.remove(obj) 将列表中的第一个obj删除

      (2020/4/11无重复字符的最长子串,用暴力解法会超出时间限制,用动态规划解决)

  • 相关阅读:
    西藏之行的一点总结
    《吃的法则》总结
    《心法》总结
    分布式系统中的CAP、ACID、BASE概念
    《你当像鸟飞往你的山》总结
    《怪诞行为学》总结
    编程的一些抽象核心
    《活法》总结
    Mac使用Charles给iPhone抓包流程
    《认知天性》总结
  • 原文地址:https://www.cnblogs.com/AICROC/p/12672129.html
Copyright © 2020-2023  润新知