自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 【分布式原理】分布式ID算法

【分布式原理】分布式ID算法这里写目录标题【分布式原理】分布式ID算法什么是分布式ID分布式ID特性UUID优缺点:数据库自增ID优缺点:数据库集群模式优缺点:号段模式优缺点:雪花算法优缺点:什么是分布式ID​ 分布式ID是在分布式环境下,要求满足唯一性的ID,ID最重要的特性就是唯一性。下面将会讲解多种分布式ID的方案。分布式ID特性分布式ID不仅要满足唯一性,还有以下多个特性。全局唯一:必须保证ID是全局性唯一的,基本要求高性能:高可用低延时,ID生成响应要块,否则反倒会成为业务瓶颈高

2021-12-12 12:37:33 792

原创 【分布式原理】分布式事务之2PC、3PC、TCC、本地消息表和消息事务

【分布式原理】分布式事务2PC、3PC、TCC、本地消息表、消息事务什么是分布式事务?​ 事务的定义就是一个大的操作由小的操作组成,要保证一些列操作要么全部成功要么全部失败,失败后回滚到之前的状态。​ 在传统单机上面,整个事务都是在本机运行,如果出现了错误,很容易就能检测到并且回滚,但是在分布式中,逻辑可能是多个机器共同完成的,中间是通过远程协作来完成,这种分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务。举个例子:如电商的下单扣库存操作,整体事务逻辑大概是扣库存,扣余额,

2021-12-11 21:38:43 721

原创 【分布式理论】CAP和BASE

【分布式理论】CAP和BASE文章目录【分布式理论】CAP和BASECAP什么是CAP?CAP定理CP的特点AP的特点BASE什么是BASE?CAP什么是CAP?一致性(Consistency) 每次访问都能获得最新数据但可能会收到错误响应可用性(Availability)每次访问都能收到非错响应,但不保证获取到最新数据分区容错性(Partition tolerance)在任意分区网络故障的情况下系统仍能继续运行CAP定理在一个分布式计算系统中,只能同时满足下列的两点,即三

2021-12-09 21:21:03 694

原创 【文档神器typora】typora图云picgo + gitee

typora图云picgo + gitee下载安装typora,picgotypora官网下载注意:typora现在已经收费了,download找到History Releases进去找免费的beat版本picgo从github下载注意:picgo需要安装nodejs,后面才能下载插件等nodejs百度一下官网无脑next安装即可。创建gitee仓库这个就不说了吧配置giteegitee主要是生成token,这样picgo就能上传图片到gitee了1.右上角设置2.私人令牌3.

2021-12-09 21:02:51 285

原创 【单片机】51单片机HelloWorld

51单片机HelloWorldkeil5创建工程并创建主函数编写主函数点亮流水灯写入到单片机运行程序keil5创建工程并创建主函数1.创建工程2.选择项目存放的目录3.选择单片机类型搜索AT89C52,选择ok4.创建主函数main.c选择文件类型并输入文件名即可。3.设置项目build后自动输出hex文件该文件是后续写入到单片机运行的文件编写主函数点亮流水灯1.查看开发板的原理图对应的流水灯模块如图,是P1来控制这8个灯的亮灭,0表示亮,1表示灭,我们只需要给P1赋值

2021-09-09 16:49:29 1685

原创 【抓包/脚本】如何让python程序一直在服务器运行

最近在服务器弄了个自动签到的python脚本,需要一直运行,但是发现ssh远程连接关闭后,程序也自动的退出了。用下面命令救可以让程序自动在后台运行,远程连接关闭后也继续运行。nohup python -u main.py > log.out 2>&1 &后台运行main.py脚本,将控制台输出都输出到log.out里面...

2021-09-08 14:39:47 1793

原创 【Java多线程】ThreadLocal原理+源码分析+使用场景和好处

ThreadLocal​ ThreadLocal,根据名字知道肯定是跟线程有关,而且每个线程之间的同一个class的实例对象是固定的且独立,因为是local嘛。​ ThreadLocal是对于每个线程拿到的对象实例都是不同的对象实例,使得各个对象隔离、独立。ThreadLocal底层原理我们来看看Thread、ThreadLocal和ThreadLocalMap的关系每个线程都有自己的一个ThreadLocalMap,因为一个线程可能有多个ThreadLocal每个ThreadLoca

2021-08-05 21:09:11 174

原创 【Tomcat框架】Tomcat类加载器体系结构

Tomcat类加载器体系结构设计前思考Tomcat类加载要考虑几个问题:假如Tomcat有两个项目,两个项目中有同名的Servlet,功能是不同的,Tomcat需要将两个同名的Servlet都加载并且进行管理,还要保证不能冲突,相互是独立的。所以项目彼此要独立、隔离。若两个项目都依赖spring,那spring的jar包被加载进内存后,如果两个项目各自都加载一次spring的jar包,这会导致资源的浪费,所以我们要保证项目之间能共享资源。Tomcat本身也有一些类,我们也需要和项目的类进行隔离。

2021-08-02 21:01:10 328

原创 【Tomcat框架】Tomcat如何打破双亲委派机制?

Tomcat如何打破双亲委派机制?Tomcat是一个Web框架,并且可以支持部署多个web项目,web项目在Tomcat被抽象的称为Context,即每一个web项目是一个Context。而每个Context是独立的,比如项目A可以引用spring1.0,而项目B可以引用spring2.0版本,如果是双亲委派机制,那么只能存在一个spring版本。Tomcat是如何打破双亲委派机制的呢?什么是类加载?Java 的类加载,就是把字节码格式“.class”文件加载到 JVM 的方法区,并在 JVM 的堆区

2021-08-02 14:24:08 3306

原创 【设计模式】创建型

创建型主要是创建对象所做的一些设计:单例工厂建造者原型模式单例模式就不说了,太简单了,大致就是一个类只能有一个实例对象。工厂模式简介工厂模式:创建者和调用者进行分离,创建实例让工厂来实现,解耦,而且这样我们完全也不需要关心创建的过程。简单工厂工厂方法抽象工厂简单工厂简单工厂:最简单就能构思出来的工厂。我们能直接想到的,面向接口编程,多个图形都继承shape类,表示多个图形有形状,并且每个图形都能够画出来(功能)。多个具有相同功能的继承某一接口。用一个工厂类来创建其继

2021-07-20 20:53:39 113 2

原创 高可用之限流算法

限流算法限流:限制流量,好处也不言而喻。比如限制流量,减小服务器压力而且在企业开发中,每个游的承受能力是不同的,若上游流量大且承受能力强,下游承受能力没那么强,上游的流量突然增进,很容易打垮下游服务避免非正常的一个请求计数器算法最简单也是最容易想的一个算法。固定窗口计数将时间划分为多个窗口。在每个窗口内每有一次请求就将计数器加一。如果计数器超过了限制数量,则本窗口内所有的请求都被丢弃当时间到达下一个窗口时,计数器重置。缺点:假设我们限制每秒钟只能处理10个请求,在上一个窗口的

2021-07-20 20:41:09 149 2

原创 git出现warning: LF will be replaced by CRLF in Factory/pom.xml. The file will have its original line

背景在学习设计模式使用git add命令提交文件的时候,报错:warning: LF will be replaced by CRLF in pom.xml.The file will have its original line endings in your working directory出现的原因这和linux和windows的换行符有关,linux上面是\r,windows是\n。LF:Line-Feed,换行符\nCR:Carriage-Return,回车符\r这报错意思是

2021-07-18 21:57:11 2613

原创 【MySQL数据库】innodb事务的隔离级别

文章目录事务隔离级别分类演示前准备脏读不可重复读幻读事务隔离级别分类1.脏读(一个事务,读到另外一条未提交事务的数据) read uncommitted出现如何避免:设置隔离级别为read committed或者更高2.不可重复读(一个事务多次读取到的数据不一致) read committed出现如何避免:设置隔离级别为repeatable read或者更高3.幻读(事务AB,事务A插入一条数据,事务B修改所有的数据,发现修改的行数比之前多,好像产生了幻觉一样)如何避免:设置隔离

2021-02-04 01:08:29 185

原创 【帮助工具】加速clone github或push

如果下载速度很慢,可以利用科学上W工具加速。设置代理最后面是端口号,你需要查看自己工具修改为对应的socks5端口号git config --global http.proxy "socks5://127.0.0.1:1081"git config --global https.proxy "socks5://127.0.0.1:1081"取消代理git config --global --unset http.proxygit config --global --unset https.p

2021-01-26 00:54:18 161

原创 【经典算法】链表中的环

链表中的环一般有两个题,1个是判断是否有环,另外1个是找到环的入口。都是基于快慢指针的。大致思想就和名字一样,一个指针走的快,一个指针走的慢。链表中是否存在环给定一个链表,判断链表中是否存在环。Leetcode141环形链表例如:快慢指针快慢指针,慢指针每次走一步,快指针每次走两步,当两个指针相遇的时候,说明存在环。很简单,这就像操场跑圈一样,一个快,一个慢,最终快的会超越慢的相遇。为什么一定是快指针每次走两步呢?为什么不是三步,四步呢?这是因为慢指针每次走1步,快指针每次走2步,每走一

2021-01-18 00:49:34 636

原创 【设计模式】单例模式

设计模式之单例模式的学习。单例模式的定义:属于创建型模式,重点在单字,保证一个类仅有一个实例,并提供一个访问它的全局访问点。1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。饿汉式(线程安全)public class Singleton { private static Singleton instance = new Singleton(); public Singleton() { } public

2021-01-05 21:27:23 130 1

原创 【java基础】权限修饰符

概述权限修饰符,顾名思义,对变量、方法、类等进行权限的控制。java中有四种权限修饰符(权限大小降序):public(公开)protected (保护)default (默认)private (私有)1.public公开,权限最大,即所有类都可以访问2.protected受保护的,权限次之,只有不同包且非子类不能访问3.default默认的,不同包不能访问4.private私有的,只有本类能访问权限列表...

2020-11-27 21:36:28 133

原创 【Http 状态码(status code)】常见Http状态码学习总结

简述记录学习Http状态码,附带官方的链接,有时候看原英文概述能更加清晰。链接: w3HttpStatusCode2xx Successful200OK,成功。请求和响应都成功,响应并且返回的信息取决于请求时候的方法。原英文:The request has succeeded. The information returned with the responseis dependent on the method used in the request后面还举了几个不同请求方法

2020-11-25 15:21:01 454

原创 【经典算法】逆序对的数量

归并排序应用的经典题型,看该题之前请先看归并排序,附带链接:归并排序题目简述给定一个序列有n个数,求n个数中逆序对的个数,逆序对的定义:i < j && a[i] > a[j]。输入格式第一行包含一个整数n。第二行包含 n 个整数(所有整数均在1~1e9范围内),表示整数数列。输出格式输出一个整数,表示逆序对的个数。输入样例:62 3 4 5 6 1输出样例:5归并排序应用归并排序是将一个序列分成两个有序的序列,归并两个有序序列,归并后则该序

2020-11-24 10:23:14 12490 3

原创 【经典算法】第k小的数

快排应用的经典题型,看该题之前请先看快速排序,附带链接:快速排序题目简述给出n个数,找出n个数排序后第k个数,即找出第k小的数。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。输出格式输出一个整数,表示数列的第k小数。输入样例:5 32 4 1 5 3输出样例:3利用快速排序的性质该题是利用快速排序中的一个性质,即将主元放在正确的位置,使得左边的数都比主元小,右边的数比主元大,这样会产生一个性质:该数后面是不

2020-11-23 20:45:52 9099 2

原创 【LeetCode之树总结】 树类型所有题总结

文章目录树94. 二叉树的中序遍历二叉树的遍历递归写法非递归写法95. 不同的二叉搜索树 ||利用二叉搜索树中序遍历有序性96.不同的二叉搜索树二叉搜索树中序遍历有序性98. 验证二叉搜索树二叉搜索树中序遍历有序性中序遍历中验证是否满足二叉搜索树的性质100. 相同的树递归101. 对称二叉树解题102. 二叉树的层序遍历层序遍历103. 二叉树的锯齿形层次遍历二叉树的层序遍历104. 二叉树的最大深度dfs一行代码层序遍历求深度105. 从前序与中序遍历序列构造二叉树(经典)前序中序建树106. 从中序与

2020-11-18 23:06:49 321

原创 【算法模板】插入排序(超短)

简述插入排序算法:字面意思,每次插入之前,之前的序列都是有序的。应用:排序中最经典,必须掌握最坏情况时间复杂度O(N2),平均O(nlogn),空间复杂度O(logN)并且是不稳定的

2020-11-18 16:38:29 165

原创 【剑指offer之链表】链表类型所有题总结

文章目录概述剑指 Offer 06 从尾到头打印链表反转数组AC代码剑指 Offer 22 链表中倒数第k个节点双指针算法AC代码剑指 Offer 24 反转链表反转链表AC代码剑指 Offer 18 删除链表的节点删除节点AC代码剑指 Offer 35 复制链表的复制找规律AC代码剑指 Offer 52 两个链表的第一个公共节点距离归纳法AC代码概述本篇文章记录剑指offer标签为链表的题。下面的题都是在力扣上面做的,可以按照题名搜索即可剑指 Offer 06 从尾到头打印链表反转数组将

2020-11-17 22:36:34 211

原创 【剑指offer之树】树类型所有题总结

文章目录概述剑指 Offer 07 重建二叉树前序中序建树AC 代码剑指 Offer 26 树的子结构枚举AC代码剑指 Offer 27 二叉树的镜像翻转二叉树AC代码剑指 Offer 28 对称的二叉树递归判断AC代码剑指 Offer 32 - I 从上到下打印二叉树二叉树的层序遍历AC代码剑指 Offer 32 - II 从上到下打印二叉树 ||二叉树的层序遍历(分层)AC代码剑指 Offer 32 - III 从上到下打印二叉树 |||二叉树的层序遍历AC代码剑指 Offer 34 二叉树中和为某一值

2020-11-16 23:21:55 352

原创 【剑指offer之二分查找】二分查找类型所有题总结

文章目录概述剑指 Offer 53 - II二分剑指 Offer 53 - I二分剑指 Offer 11二分概述本篇文章记录剑指offer标签为二分查找类的题。二分的模板太多了,本篇文章用的二分模板都是我之前发过的模板,附上链接:【算法模板】二分查找。下面的题都是在力扣上面做的,可以按照题名搜索即可题不太多,建议刷刷leetcode上面二分的题,leetcode上面刷个10多道就够了剑指 Offer 53 - II二分由题意,我们可以将该数组分成两部分第一部分是0 - x-1中, i =

2020-11-14 23:53:24 200

原创 【LeetCode动态规划标签入门总结】 线性DP(持续更新)

动态规划动态规划(Dynamic Programming),简称DP,为了求最优解,我们可以将问题分成多个子问题,先求子问题的最优解,从而递推出全局最优解,动态规划的思想基于分治。动态规划一般要考虑状态表示和状态方程。考虑到有些DP问题时间复杂度较大,一般用迭代,也可以用递归来写。线性DP线性DP最大的特征是从一个最小的子问题来向大的问题推导的。所以叫线性DP,例如斐波那契数列53. 最大子序和在该问题上,最小的子问题是序列只有一个数字,那么子序列和最大值肯定是该数字本身。如果有两个数字,要

2020-11-13 19:39:06 337

原创 【LeetCode】106. 从中序与后序遍历序列构造二叉树(递归、二叉树、中序后序建二叉树)

经典二叉树问题,建议搭配前序中序建树一起看,附带链接:105. 从前序与中序遍历序列构造二叉树题目根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树:中序后序唯一确定一棵二叉树和105题类似,建议先看看105题的解法,下面我会直接给出代码先看看中序遍历和后序遍历:中序遍历:左右根后序遍历:左右根时

2020-11-12 00:50:21 128

原创 【LeetCode】105. 从前序与中序遍历序列构造二叉树(递归、二叉树、前序中序建二叉树)

前序和中序遍历能够唯一确定一颗二叉树,算经典问题吧题目根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:前序中序唯一确定一棵二叉树先来复习一下数据结构:前序遍历:先遍历根节点,在遍历左子树,最后遍历右子树。中序遍历:先遍历左子树,在遍历根节点,最后遍历右子树。简单来说:前序:根左右中序:左根右从

2020-11-11 23:50:09 149

原创 【LeetCode】104. 二叉树的最大深度(递归、二叉树)

EZ题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。DFS求深度一行就能搞定。时间复杂度O(N),空间复杂度(H),H树的高度dfs之一行代码/** * Definition for a binary tree node. * struct TreeNode { * int val; *

2020-11-11 22:34:31 101

原创 【LeetCode】103. 二叉树的锯齿形层次遍历(递归、二叉树、层序遍历)

看下面之前请先完成102题.二叉树的层序遍历,附带链接:102.二叉树的层序遍历题目给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],返回锯齿形层次遍历如下:二叉树层序遍历的扩展如果你会层序遍历,那你就会该题。上一题102题二叉树的层序遍历,我们每次从队列中取出当前层从左到右的所有数。而这题,需要遍历成一个类似s型,如果把根节点看成第0层,我们

2020-11-11 22:06:33 196

原创 【LeetCode】102. 二叉树的层序遍历(递归、二叉树、层序遍历)

树的基础,必须会,该题只不过是层序遍历要求求一下层数。题目给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7]返回其层次遍历结果:二叉树的层序遍历该题是二叉树的层序遍历,并且还要求每层是哪几个数,即求每个结点的层数。和传统的层序遍历一样,使用一个队列,先将根节点入队,每次从队列中取出一个数遍历,并且将该数的儿子入队,一直到队空时。时间复杂度O(N)AC代码/** * De

2020-11-11 21:43:51 114

原创 【LeetCode】101. 对称二叉树(递归、二叉树)

该题和100题类似,附带100题链接:100.相同的树题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:进阶:你可以运用递归和迭代两种方法解决这个问题吗?解题思路我们发现,对称的二叉树,根节点相同,并且左子树和右子树镜像的对称。上题是根节点相同,左子树和右子树结构且对对应的值相同。时间复杂度O(N),空间复杂度O(H),H为树的高度AC代码/**

2020-11-11 21:22:17 77

原创 【LeetCode】100. 相同的树(递归、树)

抓住树相同条件:结构相同,对应结点的值也相同 记得去年学数据结构刚学树还很难理解…题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:示例 2:示例 3:递归求解对于该题,我们需要考虑什么时候能说明树一定是相同的呢?还有什么时候说明树一定相同?以上的条件就算递归的终止条件两棵树一定不相同的条件当前树结点是空,另外一棵树当前节点非空两棵树当前节点虽然都不空,但是值不同。两棵树一定相同的条

2020-11-11 20:29:56 105

原创 【LeetCode】98. 验证二叉搜索树(树、二叉搜索树、递归)

本题是利用二叉搜索树的性质:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。解题的思路也是基于上述三个性质的。空树也是二叉搜索树题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:示例 2:中序遍历,判断是否有序由中序遍历,序列有序,则

2020-11-11 11:48:53 125

原创 【LeetCode】96. 不同的二叉搜索树 (树、二叉搜索树、动态规划)

本题是上一题的扩展,上一题是求所有方案,该题是求方案数,请先完成上一题:,链接:95. 不同的二叉搜索树 ||题目给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:卡塔兰数法n个数组成二叉搜索树的方案数是卡塔兰数,证明略…我们可以直接利用公式计算卡塔兰数即可,公式如下按照这个公式计算即可。附带评论大佬的时间复杂度O(1),空间复杂度O(1)算法:class Solut

2020-11-11 10:31:29 118

原创 【LeetCode】95. 不同的二叉搜索树 ||(树、二叉搜索树、递归)

本题可能半天想不出来本题主要是利用二叉搜索树的一个重要性质——二叉搜索树中序遍历有序性题目给定一个整数 n,生成所有由 1 … n 为节点所组成的 二叉搜索树 。示例:输入:3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树:提示:0 <= n <= 8暴搜枚举+二叉搜索树中序遍历有序性利用二叉搜索树

2020-11-10 16:31:58 104

原创 【LeetCode】94. 二叉树的中序遍历(递归、树、非递归)

数据结构必须掌握的,基础了把,下面不仅有递归写法,还有迭代的写法。题目给定一个二叉树的根节点 root ,返回它的 中序 遍历。示例 1:输入: root = [1,null,2,3]输出:[1,3,2]二叉树的遍历先来复习一下二叉树的遍历吧:二叉树的前序遍历是根左右,中序遍历是左根右,后序遍历是左右根,一般前面三种遍历都是递归写法,也可以用迭代。层序遍历是一层一层的遍历,需要利用数据结构队列。前三个遍历时间复杂度O(N),空间复杂度O(H),H为树最高的高度。中序遍历递归写法

2020-11-10 15:15:45 112

原创 【算法模板】二分查找(LeetCode不要太爽)

简述写这篇文章的时候,刷了LeetCode的二分题10-20题了,用起来真的很爽,可以说下面的模板绝大部分情况下都是基本不用想直接敲的。简直不要太爽,大概90%的情况下用总结的模板基本秒杀,%90是因为万事没有绝对…。二分题不难,只不过是各种情况的二分,边界情况处理不好,经常死循环或者答案错误等。二分主要还是需要刷一些题来感受比较深二分两个模板下面的模板中check函数是关于数组中mid指向的元素和x的关系的函数。我们每次只需要根据check函数来构思使用哪个模板。模板1该模板表示,我们c

2020-11-10 00:04:59 318

原创 【经典算法】BFS之Flood Fill

简述Flood Fill:字面理解,洪水填充,(大概意思是传播的很快,扩散的广,像水一样四处流动一样)。其实我感觉不就是个BFS嘛,感觉BFS起了个别的名字大致思想:中间一个点,向四周扩展,每次扩散一圈,下次再一圈…如此下去我们再想想我们数据结构学的BFS(广度优先遍历),这不是一回事嘛…再扩展到题,给人的感觉就是需要加判断,不是说每个点四周的所有点都可以Flood Fill池塘计数POJ2386来源: poj2386题意: 大致的意思是n*m的单元格,"."表示土地,"W"表示水,对于

2020-11-09 23:21:59 1107

原创 【LeetCode】25. K个一组翻转链表(超经典、链表、k个反转)

k个链表反转的问题,经典做该题之前必须要完成:206. 反转链表,如果这题都完不成,就不要继续往下看了。题目给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2-&gt

2020-11-09 21:26:42 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除