zoukankan      html  css  js  c++  java
  • COMP9021--7.18

    从今天开始引入递归的概念

    1. 为了避免递归过程中陷入死循环,一定要在最开始的时候就写好递归结束的条件

    2. 递归的本质是通过解决smaller input,并用其结果得到下一步的output,类推直至约定的递归终止点

    3. yield的作用是把一个函数变成一个generator,它与函数的不同之处在于生成generator看起来像是函数调用,但不会执行任何函数操作,直到调用next。在for循环执行时,每次循环执行到yield时,语句就会中断,函数就会返回一个迭代值,下次迭代时,代码将从yield的下一条语句继续执行,直到再次碰见yield

    4. iter()也是为了生成迭代器 (used in list, tuple...)

    5. 补充一个上节课的知识点,序列解包:

    a=[0,1,2,3,4]

    >>>d(*a)

    0 1 2 3

    6. 需要注意的一点,就是默认初值指的是默认一个原始位置,但是随着语句的执行,如果多次调用默认初值,其结果也会随之变化,如图:

    7. 6中的解决方案是将默认初始值设置为空,每次遇到为空的情况就建立一个新的list:

     

    8. quiz就是要找1组成的最大长方形

  • 相关阅读:
    【leetcode】1. Two Sum
    【leetcode】32. Longest Valid Parentheses
    【leetcode】20. Valid Parentheses
    scala细节
    【转】CentOS下firefox安装flash说明
    Spring 容器(一)
    源码学习快捷键
    Gradle编译spring3.x报错找不到itextpdf4.2.2解决方案
    Insertion Sort
    Bubble Sort
  • 原文地址:https://www.cnblogs.com/eleni/p/11213496.html
Copyright © 2011-2022 走看看