首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
Java分布式架构实战
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
剑指offer解析-上(Java实现)
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 暴力方法是遍历一遍二维数组,找到target就返回true,时间复杂度为O(M * …
左神直通BAT算法笔记(基础篇)-上
时间复杂度是衡量算法好坏的重要指标之一。时间复杂度反映的是不确定性样本量的增长对于算法操作所需时间的影响程度,与算法操作是否涉及到样本量以及涉及了几次直接相关,如遍历数组时时间复杂度为数组长度n(对应时间复杂度为O(n)),而对数据的元操作(如加减乘除与或非等)、逻辑操作(如i…
左神直通BAT算法(进阶篇)-下
给你一个数组,找出数组中每个数左边离它最近的比它大的数和右边离它最近的比它大的数。 矩阵中的数只会是0或1,求矩阵中一片1形成的最大长方形区域的面积。 此题可借鉴在直方图中找最大矩形的方法。首先一个数组可以对应一个直方图,如下所示: 如上图,0号杆子向左右移动一格都会使杆子出界…
左神直通BAT算法(进阶篇)-上
Manacher算法是由题目“求字符串中最长回文子串的长度”而来。比如abcdcb的最长回文子串为bcdcb,其长度为5。 我们可以遍历字符串中的每个字符,当遍历到某个字符时就比较一下其左边相邻的字符和其右边相邻的字符是否相同,如果相同则继续比较其右边的右边和其左边的左边是否相…
看动画轻松理解「递归」与「动态规划」
在学习「数据结构和算法」的过程中,因为人习惯了平铺直叙的思维方式,所以「递归」与「动态规划」这种带循环概念(绕来绕去)的往往是相对比较难以理解的两个抽象知识点。 程序员小吴打算使用动画的形式来帮助理解「递归」,然后通过「递归」的概念延伸至理解「动态规划」算法思想。 先下定义:递…
滑动窗口(Sliding Window)算法介绍
时间复杂度:O(n3). 通过使用HashSet作为一个滑动窗口,检查一个字符是否已经存在于现有的子字符中只需要O(1). 滑动窗口经常作为一个抽象的概念来处理数组/字符串问题。窗口代表着一组数据/字符串元素,通过开头和结尾的索引来定义窗口。 时间复杂度:O(2n)。在最差的情…
高阶Java开发必备:分布式系统的唯一id生成算法你了解吗?【石杉的架构笔记】
“ 之前一篇文章,我们聊了一下分库分表相关的一些基础知识,具体可以参见:支撑日活百万用户的高并发系统,应该如何设计其数据库架构?。 这篇文章,我们就接着分库分表的知识,来具体聊一下全局唯一id如何生成。 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不…
并发与多线程基础
这是一个面试常问的基础问题,你应该肯定的回答线程只有五种状态,分别是:新建状态、就绪状态、执行状态、阻塞状态、终止状态。 由于Scheduler(调度器)的时间片分配算法,每个Running的线程会执行多长时间是未知的,因此线程能够在Runnable和Running之间来回转换…