• 队列问题


    102 树的层次遍历

    自定义的数据结构真的很有用,这样就能将层级也一起记录进去了

    107 从底层到上层的二叉树层次遍历

    104 之字型

    199

     广度优先遍历 最短路径  队列

    为什么结束条件就是num==0就可以了?如果不是最短的先遍历到呢?

    好像不是耶。。最短的肯定就是先为0了。

    因为前面的先算,如果它是最短的,那么会先到0. 同理,先到0的,肯定是最短的。

    比如当前全是step为1的

    【a1】【b1这个是结果的那一条路径】【c1】 当前num全都不是0,如果是0就返回step1了

    现在a做了一轮循环,放到后面去了

    【b1】【c1】【a2】

    【a2】【b2】【c2】 如果a2里面有num为0的,那么直接返回step就是2,如果没有返回的就会变成这样

    【b2】【c2】【a3】

    ······一直到

    【a3】【b3】【c3】 如果a3里面有num为0的,那么直接返回step就是3,如果没有返回的就会变成这样

    【b3】【c3】【a4】 b3里面存在num为0的了,返回3

    现在最大的问题只是重复数字了

    创建一个visited数组即可。表示访问过的数字。

    先访问过的数字,因为是队列,肯定会先判断里面有没有num为0的情况,如果有就返回了。没有的话,后面直接抛弃这个即可。

    递归怎么算呢?

    12 --》11,8,3,然后再求11,8,3的最短,取里面最小的。

     因为有大量重复数字,也可以传一个数组进去判断。

    这道题叫最短路径,有点牵强啊

    这个优化更快。因为将最后一步减去了。

    如果只差一步就能到0,直接返回step+1

  • 相关阅读:
    SQL游标写法代码
    关键词过滤器
    TOP4NET20107027源代码非官方
    亚马逊API之订单下载
    PHP上传大文件参数设置
    CListCtrl中的一个错误(c++)
    汇编语言数据结构
    类型为“System.OutOfMemoryException”的异常
    【javascript脚本】动态设置div的高度和宽带
    【读书笔记】串指令备注
  • 原文地址:https://www.cnblogs.com/weizhibin1996/p/9104291.html
Copyright © 2020-2023  润新知