zoukankan      html  css  js  c++  java
  • 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无重复字符的最长子串,用暴力解法会超出时间限制,用动态规划解决)

  • 相关阅读:
    不可小视视图对效率的影响力
    Maximum Margin Planning
    PhysicsBased Boiling Simulation

    Learning Behavior Styles with Inverse Reinforcement Learning
    Simulating Biped Behaviors from Human Motion Data
    Nearoptimal Character Animation with Continuous Control
    Apprenticeship Learning via Inverse Reinforcement Learning
    回报函数学习的学徒学习综述
    Enabling Realtime Physics Simulation in Future Interactive Entertainment
  • 原文地址:https://www.cnblogs.com/AICROC/p/12672129.html
Copyright © 2011-2022 走看看