首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
lingling1420q
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
剑指offer解析-下(Java实现)
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 典型的二叉树分解问题,我们可以定义一个黑盒transform,它的目的是将二叉树转换成双向链表,那么对于一个当前结点root,首先将其前驱结点(BST中前驱结点指…
剑指offer解析-上(Java实现)
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 暴力方法是遍历一遍二维数组,找到target就返回true,时间复杂度为O(M * …
LeetCode 攻略 - 2019 年 6 月汇总(30 题攻略)
自 2019-05-16 开始,经过前期的阵痛(做公众号,稳定作息,稳定工作,调整时间……)后,jsliang 开始了持续攻略的 LeetCode。 有印象的小伙伴应该还记得,jsliang 一开始会将 LeetCode 题解发布到 掘金,但是因为掘金的个人主页不支持分标签,文…
深度优先遍历 和 广度优先遍历
深度优先遍历简称DFS(Depth First Search),广度优先遍历简称BFS(Breadth First Search),它们是遍历图当中所有顶点的两种方式。 我们来到一个游乐场,游乐场里有11个景点。我们从景点0开始,要玩遍游乐场的所有景点,可以有什么样的游玩次序呢…
左神直通BAT算法(进阶篇)-下
给你一个数组,找出数组中每个数左边离它最近的比它大的数和右边离它最近的比它大的数。 矩阵中的数只会是0或1,求矩阵中一片1形成的最大长方形区域的面积。 此题可借鉴在直方图中找最大矩形的方法。首先一个数组可以对应一个直方图,如下所示: 如上图,0号杆子向左右移动一格都会使杆子出界…
左神直通BAT算法笔记(基础篇)-下
以先根遍历二叉树为例,可以发现递归方式首先尝试打印当前结点的值,随后尝试打印左子树,打印完左子树后尝试打印右子树,递归过程的base case是当某个结点为空时停止子过程的展开。这种递归尝试是由二叉树本身的结构所决定的,因为二叉树上的任意结点都可看做一棵二叉树的根结点(即使是叶…
左神直通BAT算法笔记(基础篇)-上
时间复杂度是衡量算法好坏的重要指标之一。时间复杂度反映的是不确定性样本量的增长对于算法操作所需时间的影响程度,与算法操作是否涉及到样本量以及涉及了几次直接相关,如遍历数组时时间复杂度为数组长度n(对应时间复杂度为O(n)),而对数据的元操作(如加减乘除与或非等)、逻辑操作(如i…
左神直通BAT算法(进阶篇)-上
Manacher算法是由题目“求字符串中最长回文子串的长度”而来。比如abcdcb的最长回文子串为bcdcb,其长度为5。 我们可以遍历字符串中的每个字符,当遍历到某个字符时就比较一下其左边相邻的字符和其右边相邻的字符是否相同,如果相同则继续比较其右边的右边和其左边的左边是否相…
Bloom过滤器
思考这个问题的时候,最先想到的可能是哈希表,在数据集规模较小的时候,这个方法是可行的,当然,数据集巨大的时候也可以采用分布式哈希表的方式。当数据集规模较大时,尤其是应用中只需要判断一个元素不在此数据集中的情况时,我们可以借鉴哈希表的思路,使用Bloom过滤器解决这个问题。既然我…