JavaScript-Algorithms icon indicating copy to clipboard operation
JavaScript-Algorithms copied to clipboard

基础理论+JS框架应用+实践,从0到1构建整个前端算法体系

Results 112 JavaScript-Algorithms issues
Sort by recently updated
recently updated
newest added

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树:  root = [3,5,1,6,2,0,8,null,null,7,4] ![](http://resource.muyiy.cn/image/20200517225511.png) **示例 1:** ```js 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q =...

腾讯
LeetCode
字节

给你一个二叉树,请你返回其按 **层序遍历** 得到的节点值。 (即逐层地,从左到右访问所有节点)。  **示例:** 二叉树:`[3,9,20,null,null,15,7]` , 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: ```js [ [3], [9,20], [15,7] ] ```

LeetCode
字节
剑指Offer

64匹马,每一只马的跑步速度是恒定的,不会因为多跑几轮就会速度下降,没有提供秒表进行记录。问需要比赛多少轮才能得出最快的4匹马?

腾讯

![](http://resource.muyiy.cn/image/20200406213631.png) ### 引言 这个标题已经很明显的告诉我们:前端需要了解 LRU 算法! 这也是前端技能的亮点,当面试官在问到你前端开发中遇到过哪些算法,你也可以把这部分丢过去! 本节按以下步骤切入: - 由浏览器缓存策略引出 LRU 算法原理 - 然后走进 `vue` 中 `keep-alive` 的应用 - 接着,透过 `vue` 中 `keep-alive` 源码看 `LRU` 算法的实现 - 最后,来一道 leetcode 题目,我们来实现一个...

文章
源码

给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 `[3,9,20,null,null,15,7]` , 3 / \ 9 20 / \ 15 7 返回其自底向上的层次遍历为: ```js [ [15,7], [9,20], [3] ] ``` 附赠leetcode地址:[leetcode](https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/solution/javascripter-cha-shu-de-ceng-xu-bian-li-by-user774/)

LeetCode
字节

给你一个整数数组 `nums` ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,`[3,6,2,7]` 是数组 `[0,3,1,6,2,2,7]` 的子序列。 **示例 1:** ```js 输入:nums = [10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。 ``` **示例 2:** ```js 输入:nums = [0,1,0,3,2,3] 输出:4 ``` **示例 3:** ```js...

LeetCode
字节

```js function test() { var a = 1; var b = {}; var c = {a: a}; return c; } ``` 执行test后,说一说,堆栈发生了啥变化,最后c的内存会被回收吗?

腾讯