我的个人博客(xxoo521.com)已上线,不定期持续更新精品文章,点击查看
心谭小站

心谭小站

专注前端与算法,公众号「心谭博客」

上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 📖Blog : "《LeetCode 102.二叉树的层次遍历 JavaScript》" 🐱Github : "https://github.com/dongyuanxin/blog" 题目描述 :给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如给定二叉树: 阅读全文
posted @ 2020-03-07 10:43 心谭小站 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目描述 :给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 例子: 解法:深度优先遍历 + 回溯 准备两个函数 和 。 用于循环遍历网格,当前元素 阅读全文
posted @ 2020-02-17 22:38 心谭小站 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题目描述 :给定一个二叉树,检查它是否是镜像对称的。 题目分析 下面这种二叉树就是镜像对称的,符合题目要求: 解法 1:递归检查 根据题目“对称”的定义,递归过程如下: 对称节点的 val 是否相同 依次递归对称节点的 left1 和 right2、right1 和 left2(结合上面的例子更好理 阅读全文
posted @ 2020-02-16 23:12 心谭小站 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 题目描述 :给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 题目分析 题目中“n 至少可以拆分为两个正整数的和”,这个条件说明了 n 是大于 1 的整数。 对 7 来说,可以拆成 3+4,最大乘积是 12。 对 8 来说,可以拆成 3+3+2 阅读全文
posted @ 2020-02-16 23:11 心谭小站 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 题目描述 :给定一个范围在 ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在 不使用额外空间 且时间复杂度为 O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 题目分析 阅读全文
posted @ 2020-02-16 00:09 心谭小站 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题目描述 :给定一个整数数组 a,其中 (n 为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到 所有 出现两次的元素。 你可以不用到任何额外空间并在 O(n)时间复杂度内解决这个问题吗? 题目分析 这里的不使用任何额外空间,指的是不为哈希表开辟额外空间。最后要返回的元素,还是要放在数组 阅读全文
posted @ 2020-02-16 00:07 心谭小站 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 题目描述 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树 阅读全文
posted @ 2020-02-16 00:06 心谭小站 阅读(259) 评论(0) 推荐(0) 编辑
摘要: nodejs 的 zlib 模块提供了资源压缩功能。例如在 http 传输过程中常用的 gzip,能大幅度减少网络传输流量,提高速度。本文将从下面几个方面介绍 zlib 模块和相关知识点: - 文件压缩 / 解压 - HTTP 中的压缩/解压 - 压缩算法:RLE - 压缩算法:哈夫曼树 阅读全文
posted @ 2020-02-11 20:59 心谭小站 阅读(993) 评论(0) 推荐(0) 编辑
摘要: nodejs 中的 crypto 模块提供了各种各样加密算法的 API。这篇文章记录了常用加密算法的种类、特点、用途和代码实现。其中涉及算法较多,应用面较广,每类算法都有自己适用的场景。为了使行文流畅,列出了本文记录的几类常用算法: - 内容摘要:散列(Hash)算法 - 内容摘要:HMac 算法 - 内容加解密:对称加密(AES)与非对称加密解密(RSA) - 内容签名:签名和验证算法 阅读全文
posted @ 2020-02-08 13:41 心谭小站 阅读(1138) 评论(2) 推荐(0) 编辑
摘要: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 是该压栈序列对应的一个弹出序列,但 4,3,5,1,2 就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 阅读全文
posted @ 2020-02-03 16:26 心谭小站 阅读(198) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页