ARTS_17

作者: 本一和他的朋友们 | 来源:发表于2022-10-23 17:14 被阅读0次

    什么是 ARTS?

    1. 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习
    2. 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平
    3. 技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点
    4. 分享(Share):分析一篇有观点和思考的技术文章,建立影响力,输出价值观

    时间周期

    10月17日至10月23日

    一:算法:

    二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法,把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。
    返回转换后的单向链表的头节点。

    示例:

    输入: [4,2,5,1,3,null,6,0]
    输出: [0,null,1,null,2,null,3,null,4,null,5,null,6]
    

    提示:
    节点数量不会超过 100000。

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/binode-lcci

    前置知识

    • 二叉查找树
    • 递归
    • 二叉树的遍历
      思路:
      实际上是一个考察二叉树遍历+二叉搜索(查找)数性质的题目。这类题目特别需要注意的是指针操作。
      首先我们要知道一个性质:对于一个二叉查找树来说,其中序遍历结果是一个有序数组。而题目要求你输出的恰好就是有序数组(虽然没有明说,不过从测试用例可以看出)。
      因此一个思路就是中序遍历,一边遍历一边改变指针即可
    var converBiNode = function (root) {
      let head = null
      let cur = null
      function traverse (node) {
        if (!node) {
          return null
        }
        traverse(node.left, node)
        if (!head) {
          head = node
          cur = head
        } else {
          cur.right = node
          cur = node
          cur.left = null
        }
        traverse(node.right, node)
      }
      traverse(root)
      return head
    }
    

    二:阅读

    中文:《软技能2:软件开发职业生涯指南》
    推荐理由:

    1. 介绍软件开发者的如何入门,入门之后如何提高,怎样规划整个职业生涯,对于这些问题提供了一整套的可参考答案

    英文:

    1. Things You Should Never Do, Part I – Joel on Software

    分享理由:

    1. 不要轻易重写代码,这个行为在商业上毫无帮助
    2. It’s harder to read code than to write it. 读比写难,说大实话了呀
    3. 当说老项目一团糟时,有三种情况是错误的
      1. 架构问题:但是这些问题可以通过小心地移动代码、重构、更改接口逐一解决
      2. 效率低下:你可以优化那部分代码,而不需要全部重构
      3. 代码可能非常丑陋:但是用Emacs中的一个宏就能在五分钟内解决的问题,而不是从头开始。
      4. 重要的是要记住,当你从头开始的时候,绝对没有理由相信你会比第一次做得更好。首先,你甚至可能没有与第一版相同的编程团队,所以你实际上并没有“更多的经验”。你只会再次犯大多数旧的错误,并引入一些原始版本中没有的新问题。

    三:技巧

    13 | 影响了我二十年的三个原则-极客时间
    分享理由:

    1. 闭环原则、谁难受谁推进,这两个原则我感触良多,且也在应用中,很好

    四:分享

    从起因到争议,在 AI 生成艺术元年聊聊 AI - 少数派

    分享理由:

    1. AI滚滚而来,首先不会直接制造出一个超人,而是在细分领域进行变革,某些职业入门级的体力活注定要被淘汰,提前看下,给自己一个警示

    相关文章

      网友评论

          本文标题:ARTS_17

          本文链接:https://www.haomeiwen.com/subject/yjgizrtx.html