ARTS_26

什么是 ARTS?

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

时间周期
5月22日至5月28日

一:算法

二叉树的最大深度

给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7
返回它的最大深度 3 。

思路:
由于树是一种递归的数据结构,因此用递归去解决的时候往往非常容易。

  • 标签:DFS
  • 找出终止条件:当前节点为空
  • 找出返回值:节点为空时说明高度为0,所以返回0,节点不为空时则分别求左右子树的高度的最大值,同时加1表示当前节点的高度,返回该数值
  • 时间复杂度:O(n)

JS Code:

/**
 * @param {TreeNode} root
 * @return {number}
 */
var maxDepth = function (root) {
  if (!root) {
    return 0
  }
  if (!root.left && !root.right) {
    return 1
  }
  return 1 + Math.max(maxDepth(root.left), maxDepth(root.right))
}

二:阅读

Scratch Is The Future: You Should Learn It. Seriously!

  • 这篇文章的主题
    非技术人员入门编程,Scratch是一个绝佳的选择,它代表了低代码和无代码的一个未来方向

  • 作者的主要声明与论点

  1. 用Scratch创建应用很快
  2. 发布应用也很方便,以html的形式发布
  3. 没人知道这个应用是用Scratch创建的,也没人关心这个事
  4. Go是一个确实,Scratch是另一个方向的趋势,我们会看到越来越多的低代码语言创造的程序
  • 这篇文章说的有道理吗?
    有一定道理,Scratch确实是一个很好的编程入门方案;但就像大趋势一样,Scratch已经出生好久了,它的全面流行还在路上

  • 这篇文章与自己的关系?
    我当时入门编程,学了点Python,但是太难了,光装环境就折腾了好久。当时也玩了Scratch,确实很适合小白入门编程,去除所有的语言语法,从底层上告诉你编程是怎么回事。
    我也推崇每个人都应该学点编程,如果不想学一门严肃的编程语言,那么Scratch是一个好选择。

三:技巧

吃透 Vue 项目开发实践|16个方面深入前端工程化开发技巧《上》

  • 分享理由
  1. 很好的总结了使用Vue的工程化结构
  2. 我自己懒得写了,就用人家的吧

四:分享

麦肯锡的信任公式:
信任=(可信度×可靠度×可亲度)÷自私度
次详细的看这篇文章:https://www.jianshu.com/p/c1c5404b6643?v=1685244630346
更详细的,看《冯唐成事心法》这本书

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容