首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法&数据结构
shujer
创建于2021-05-13
订阅专栏
基于 JavaScript 的算法笔记
等 6 人订阅
共12篇文章
创建于2021-05-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
LeetCode 160. 相交链表 | 刷题打卡
思路一: 考虑最直观的做法 —— 先遍历一遍链表 A,将值记录下来;再遍历链表 B 找到相交的节点。
LeetCode 234. 回文链表 |刷题打卡
本文正在参与掘金团队号上线活动,点击 [查看大厂春招职位]。将链表的值遍历后复制到一个数组里面;基于双指针左右遍历,判断是否为回文数组。
LeetCode 69 x 的平方根 | 刷题打卡
本题选自LeetCode 69. x 的平方根 实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 经典的二分查找例题,我们通过尽可能地两边逼近,最终找到平方根。 LeetCo…
LeetCode 235 二叉搜索树的最近公共祖先 | 刷题打卡
本题选自 LeetCode235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也…
二叉树遍历问题 | 刷题打卡
二叉树的遍历通常有三种模式:前序、中序、后序、层序遍历。比如,以下这棵树对应的遍历结果为: 递归写法理解起来比较简单,按照我们遍历的顺序执行递归函数即可。 144. 二叉树的前序遍历 94. 二叉树的中序遍历 145. 二叉树的后序遍历 102. 二叉树的层序遍历 这里,前序、…
LeetCode 103 & 199 & 542 | 刷题打卡
DFS(deep-first-search 深度优先遍历)和 BFS(breath-first-search 广度优先遍历)都是常见的搜索算法。往往和递归、遍历、回溯的概念相关联。我把这两种搜索过程,形象描述成以下两个场景: 深度优先的过程符合我们生活中的寻路逻辑,因为它有一条…
LeetCode 50. Pow(x, n) | 刷题打卡
本题选自 LeetCode 50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。 当一个计算过程可能包含许多重复的计算步骤,我们通常可以通过缓存或者分而治之的思想来减少重复计算的部分。
LeetCode 98 验证二叉搜索树 | 刷题打卡
本题选自 LeetCode 98. 验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 一棵二叉搜索树,任意节点的左子树小于其根节点,任意节点…
LeetCode 15 三数之和 | 刷题打卡
本题选自 LeetCode 15. 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 暴力三重循环显然不是最优…
LeetCode 242 有效的字母异位词 | 刷题打卡
本文题目选取自 LeetCode 242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 你可以假设字符串只包含小写字母。 本题是一个简单题,主要解题思路是通过统计两个单词的字母和每个元素的出现次数,在 O(N) 次遍历内,…
LeetCode 239 滑动窗口最大值 | 刷题打卡
本文选取 LeetCode 239. 滑动窗口最大值,这个也是面试的高频题。 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 我们可以采取双…
JS树形结构处理 | 七日打卡
在开发 UI 组件,如侧栏菜单、级联选择器、表格、树形选择器等的过程中,我们经常会遇到需要处理数据结构——Tree的情况,但是每次写起来却觉得没那么简单或者代码看起来不够优雅。这里,我就结合一些源码谈谈常见的树形结构处理的一些技巧。 DFS(deep-first-search …