Codingbro's Blog

代码笔记哥的博客

LeetCode 617. Merge Two Binary Trees

LeetCode 617. 合并两个二叉树

今天,我们再回到软件工程师的基本功,做一道二叉树的题:合并两个二叉树。 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算法)Thinking Process (What data structure, alg...

数据结构与算法,傻傻分不清楚?

Distinguish Data Structures and Algorithms

笔记哥的公众号的“最新讲题”部分,目前的目标是帮助自己和大家复习北美软件工程师的算法面试。 而为了对付算法面试,我们需要学习数据结构与算法。那什么是算法面试,什么是数据结构,什么又是算法?为什么有时候这数据结构与算法这两个概念合在一起讲,这两者之间有什么区别呢? 别急,听我娓娓道来。 算法面试:这其实是软件工程师圈子里的一个行话。在英文里的一个对应词应该是 Coding Intervie...

什么是时间复杂度,什么是空间复杂度

Time and Space Order Complexity

做了一些题目,觉得自己有必要追本溯源,厘清一些更根本的概念性问题。所以,这一期推一篇讲解时间复杂度和空间复杂度的文字。之后会陆续推一些我个人的对数据结构和算法的理解的总括性文章,敬请期待。 时间复杂度 算法的时间复杂度能反映出程序运行从开始到结束所需要的时间,但并不是严格意义上指程序运行从开始到结束所需要的时间。因为即便是同一段程序,在不同的机器上或者网络环境下运行,其消耗的具体时间往往是...

My Own Angular Notes

个人Angular笔记

How to setup a Demo App Open or goto the directory you wanna initiate an Angular app Install the latest angular command line tool $ npm i -g @angular/cli@latest ng new to create ...

LeetCode 110. Balanced Binary Tree

LeetCode 110. 判断一棵树是否为平衡二叉树

上一篇我们讲到了中英文语境中对二叉树部分类型的表述的略有不同,今天我们来看一道跟二叉树定义有关的题:判断一棵树是否为平衡二叉树。 回顾 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算法)Thinking P...

看看不同类型的二叉树的中美差异

Different Types of Binary Trees

在面试中,我们会遇到不同类型的二叉树。碰巧,美国英文语境下的一些二叉树类型与中国中文语境下的对应翻译有匹配不当之处(mismatch)。本文试图做一个归纳整理,方便身处两个国家的小伙伴们在面试遇到二叉树类算法题的时候,不至于因为语境下的定义不同而吃亏。 根据笔记哥亲身经历,本文先描述美国语境下的一些二叉树类型的定义,再描述中国语境下的,最后再做一个小结。 注:由于下面提到的二叉树类型不包...

LeetCode 104. Maximum Depth of Binary Tree

LeetCode 104. 二叉树的最大深度

回顾 解题“七步走” (保持这种sense): 题意 Scenario 假设 Assumptions 举例与输入输出 Examples and figure out Input/Output 思路(什么数据结构, 什么算法)Thinking Process (What data structure, algorithm?) 代码 Coding 复杂度分析 Compl...