首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
cannoli
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
写给前端的算法进阶指南,零基础按分类刷200题思路
最近国内大厂面试中,出现 LeetCode 真题考察的频率越来越高了。我也观察到有越来越多的前端同学开始关注算法这个话题。 但是算法是一个门槛很高的东西,在一个算法新手的眼里,它的智商门槛要求很高。事实上是这个样子的吗?如果你怀疑自己的智商不够去学习算法,那么你一定要先看完这篇…
左神直通BAT算法(进阶篇)-上
Manacher算法是由题目“求字符串中最长回文子串的长度”而来。比如abcdcb的最长回文子串为bcdcb,其长度为5。 我们可以遍历字符串中的每个字符,当遍历到某个字符时就比较一下其左边相邻的字符和其右边相邻的字符是否相同,如果相同则继续比较其右边的右边和其左边的左边是否相…
剑指offer解析-下(Java实现)
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 典型的二叉树分解问题,我们可以定义一个黑盒transform,它的目的是将二叉树转换成双向链表,那么对于一个当前结点root,首先将其前驱结点(BST中前驱结点指…
剑指offer解析-上(Java实现)
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 暴力方法是遍历一遍二维数组,找到target就返回true,时间复杂度为O(M * …
漫画:什么是动态规划?
有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。 再比如,每次走2级台阶,一共走5步,这是另一种走法。我…
MySQL优化面试
非null字段的处理要比null字段的处理高效些!且不需要判断是否为null。 null在MySQL中,不好处理,存储需要额外空间,运算也需要特殊的运算符。如select null = null和select null <> null(<>为不等号)有着同样的结果,只能通过is…
左神直通BAT算法(进阶篇)-下
给你一个数组,找出数组中每个数左边离它最近的比它大的数和右边离它最近的比它大的数。 矩阵中的数只会是0或1,求矩阵中一片1形成的最大长方形区域的面积。 此题可借鉴在直方图中找最大矩形的方法。首先一个数组可以对应一个直方图,如下所示: 如上图,0号杆子向左右移动一格都会使杆子出界…
左神直通BAT算法笔记(基础篇)-上
时间复杂度是衡量算法好坏的重要指标之一。时间复杂度反映的是不确定性样本量的增长对于算法操作所需时间的影响程度,与算法操作是否涉及到样本量以及涉及了几次直接相关,如遍历数组时时间复杂度为数组长度n(对应时间复杂度为O(n)),而对数据的元操作(如加减乘除与或非等)、逻辑操作(如i…
我画了近百张图来理解红黑树
之前在公司组内分享了红黑树的工作原理,今天把它整理下发出来,希望能对大家有所帮助,对自己也算是一个知识点的总结。 这篇文章算是我写博客写公众号以来画图最多的一篇文章了,没有之一,我希望尽可能多地用图片来形象地描述红黑树的各种操作的前后变换原理,帮助大家来理解红黑树的工作原理,下…
九种排序算法的 JavaScript 实现
一、代码汇总(一)bylaifeipengon2019.02.201、冒泡排序2、改进版冒泡排序3、选择排序4、直接插入排序5、二分插入排序2、代码汇总(二)bylaifeipengon2019.02