自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 若依权限控制前端+后端实现思路梳理(PreAuthorize、hasPermi、v-hasPermi)

如此我们便可实现这些基本的接口级别的鉴权。整个实现下来,我们发现这必须要求整个系统在构建的伊始就必须要完善的配置结构,否则这个方案是很难流畅的使用的,所以我们在整个项目构建时就应该确定权限配置的基本结构。然后整个方案其实就是简单的字符串匹配,直接for循环都可以,没什么高大上的,但是整个思路还是非常新奇的,而且也可以开拓视野,毕竟自定义指令、@PreAuthorize注解,这些都可以进行一个实战,整体学习下来收获还是很多的。如果文章内容有错误欢迎大家留言指正。

2024-08-23 15:53:07 2306

原创 LeetCode受限条件下可到达节点的数目

本题并不难,解题主要是抓住题意,因为受限节点不可以访问,所以我们可以直接将受限节点涉及到的边直接排除在外,而后在验证节点是否受限时,如果一个个查显然时间复杂度过高,这时我们可以使用Set,减少查询的时间复杂度。而后进行一次dfs就可以了,而后我们还需要知道,因为这是一棵树,所以节点不会重复访问,所以我们直接++即可。在不访问受限节点的前提下,只有节点 [0,1,2,3] 可以从节点 0 到达。在不访问受限节点的前提下,只有节点 [0,5,6] 可以从节点 0 到达。个节点组成的无向树,节点编号从。

2024-03-02 15:00:37 626

原创 LeetCode检查数组是否存在有效划分

本题我们需要读懂题目,这种需要判断是否成立的题目,且不是图树形的数据结构,大多需要进行dp,所以我们先来思考一下,如何进行状态转移。首先我们需要了解本题的三个条件限制,其中一个长度为2和两个长度为三的条件,那么我们就可以进行分类,当长度大于2和3的时候进行分别处理即可。而后就是如何判断是否可行,三种方式只要有一个方式成立即可标记在第i个位置可行,而在当前位置,并且在i-2或i-3的位置都成立的话,那么在这个位置即可成立。数组可以划分成子数组 [4,4] 和 [4,5,6]。,则可以称其为数组的一种。

2024-03-01 16:08:41 389

原创 LeetCode二叉搜索树的最近公共祖先

本题其实与另一题思路相似,但是那道题并没有搜索树的这个条件,所以需要进行全搜索,但是本题二叉搜索树显然可以比较方便的搜索到目标,所以本题我们可以使用另一种搜索思路,可以使用二分查找目标。查找两次即可获得其祖先,而后再遍历,最后一个就是最近祖先。但也可以同时搜索,因为一旦两个产生分歧,也就是两个不在同一边,那么这个分支一定是最近共同祖先,所以我们也可以这样搜索,更加节省空间。例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]

2024-02-25 14:47:23 368

原创 LeetCode二叉树中的第 K 大层和

本题思路其实是比较简单的,首先我们需要思考题目的意思,题目要求我们求出层的数值和,而我们要得到数值的和显然需要进行一次bfs,然后将数存储在一个结构当中,我想到优先队列可以维护出一个有序队列,于是我使用优先队列进行排序,而后第几就是将优先队列书城几个返回就可以了。但是测试结果其实并不理想,后来我发现,这样很容易退化为On,因为如果要求我们得到最大值时,我们需要遍历全部,效果不佳,其实反而不如直接排序然后再获取第几个位置显得有效。,如果两个节点与根节点的距离相同,则认为它们在同一层。最大的层和是 3。

2024-02-24 15:30:04 560

原创 LeetCode二叉搜索树最近节点查询

首先先观察本题,本题需要我们找到给出数组中的数在树中的前后数,数也可以是其本身,如果树中有的话,所以这其实就是一个搜索的问题,我们需要找到这个数,如果树中有这个数那我们就可以直接得到两个值,而如果不可以那么就搜索返回和这个数相差最小的数的位置。于是就转变成一个二分搜索的题目,因为二分需要我们得到有序的序列,而这个数又正好是一个二叉搜索树也就是二叉排序树,所以我们首先中序遍历一下这个树,得到有序数列之后,对给出的数组进行遍历查找,然后加入List进行返回即可。所以第一个查询的答案是 [2,2]。

2024-02-24 15:22:28 473

原创 LeetCode二叉树的垂序遍历

首先本题是一道困难题,其解决方法并不难想,主要难度主要集中在实现的细节,首先对于相同列的排序,行小的在前,同行的按照从大到小排序,所以这个实现我想到了java的排序器,制定类的规则。这个问题想好就按照dfs进行异常遍历,主要记录行列,将同列的放入同一个List从而进行排序,整体实现思路并不复杂,主要需要看清楚题意并认真实现。从最左边的列开始直到最右边的列结束,按列索引每一列上的所有结点,形成一个按出现位置从上到下排序的有序列表。列 0 :只有结点 3 和 15 在此列中,按从上到下顺序。

2024-02-13 15:08:57 573

原创 LeetCode跳跃游戏 VI

本题需要我们求解跳跃的最大解,这很明显是使用贪心或动态规划,使用贪心考虑显然不太合理,因为我们无法保证其选择步数合理范围最大就是最大解如:1,1,1,1,1,2,k=5,显然如果按照贪心我们会选择2,但其实我们完全可以每次走一步,即可获取最大解。所以我们接下来的优化就要向着如何选取步数范围的最大值,很明显我们想到使用优先队列(堆),统计在步数合理范围内的值,可直接获取这样就可以减少for循环从而节省时间。你可以选择子序列 [1,-1,4,3] (上面加粗的数字),和为 7。步,但你不能跳出数组的边界。

2024-02-11 21:22:49 770

原创 LeetCode魔塔游戏

首先何时贪心这个问题还是比较简单的,因为一定要一直保持正值,所以我们可以在每次血量非正的时候进行移动,移动的移动一定是我们前面所经历的(因为后面的对前面毫无影响,主要依靠之前扣血的才能保证现在是正)。那么只能使用堆,使用最小堆每次堆顶都为最小元素O(logN),所以可以使用优先队列进行维护。本题是一个比较明显的贪心,因为说最少需要几次,血量无上限,那么每次选择最小一定没错,于是本题就是一个明显的贪心。解释:初始血量为 1。但现在有两个问题,何时贪心,如何找到最小的。,小扣需对房间访问顺序进行调整,

2024-02-08 16:20:00 774

原创 leetCode二叉树的堂兄弟节点

本题是一道简单题,本身的测试用例较为简单,本身思路也比较清晰,主要依靠bfs进行搜索,因为是求解堂兄弟,所以我们使用bfs可以很快的求解同一层的兄弟,再遍历过程中是事先判断两个值是否是亲兄弟,而后遍历过程中按层次遍历,如果出现目标数字就将+1,如果出现s==1说明不在同一层,s==2说明成功找到即可返回true。我们给出了具有唯一值的二叉树的根节点。对应的节点是堂兄弟节点时,才返回。如果二叉树的两个节点深度相同,但。,以及树中两个不同节点的值。在二叉树中,根节点位于深度。的节点的子节点位于深度。

2024-02-08 12:15:06 314

原创 leetCode二叉树的堂兄弟节点 II

结果不出意外的超出时间限制了,问题也很简单出现在二次遍历中的for循环当中。于是开始尝试优化,既然遍历其他同层的太过于冗余麻烦,那么我可以将同层的所有相加,而后再减去同父的节点值不就可以了。于是出现了下面的代码。这题思路其实是比较简单的,就是找到同层的节点,然后让非同父的节点相加即可。如果两个节点在树中有相同的深度且它们的父节点不同,那么它们互为。,一个节点的深度指的是从树根节点到这个节点经过的边数。,请你将每个节点的值替换成该节点的所有。这样我们就需要记录父节点,本节点的值。请你返回修改值之后,树的根。

2024-02-07 18:10:44 513

原创 使用websocket后端接入文心一言

简单介绍一下websocket它是一个双向的通信协议,一旦通信双方建立联系,就可以互相发送消息。都使用注解进行控制,其中这里最重要的就是 OnMessage,这个是得到websocket消息进行的处理,是最核心的方法,本次主要的业务实现焦距于本方法。最近再写项目练手,想着最近大模型那么火,也想接入项目来玩一玩,于是去了解了一下相关的api和通信协议,最后选择了文心一言进行集成,国内的相对稳定。现在就开始进行配置吧,首先我们需要配置好websocket的的相关依赖已经配置serverEndpoint的扫描。

2024-01-28 13:31:04 1360

原创 关于session每次请求都会改变的问题

排查到这里的时候我已经开始烦躁了,怎么会这样呢?难道是session的问题,因为我将会话内容存储session中,一检查果然是session的问题,我就开始查询,最后将问题锁定到cookie上,查看浏览器JSESSIONID发现并没有次次发生改变,所以也不是浏览器的问题,于是开始查看网络请求,发现。我的解决方法是使用一个代理,将请求进行转发这样对于安全策略而言这个请求过程会携带cookie,会将此请求当作普通的请求,使用代理进行转发就可以解决这个问题,但实际上这是不安全的,真正安全的是设置。

2024-01-27 22:28:29 775

原创 HbaseAPI语句小记

1.创建单例连接因为hbase的连接是一个重量级的,所以为了优化时间我们尽量使用一次连接,多次使用,也就是创建一次连接后,往后的每次使用都使用之前创建的连接,而不创建新的连接,也就是单例连接。public class HBaseConnect { // 设置静态属性hbase 连接 public static Connection connection = null; static { // 创建hbase 的连接 try { // 使用配置文件的

2023-02-09 06:55:15 300

原创 关于近期虚拟化学习遇到的问题总结

Intel VT-x/EPT. 不使用虚拟化的Intel VT-x/EPT 后备差异虚拟磁盘 kvm克隆

2022-12-11 17:14:34 911 4

原创 hive排序

在大数据处理时,排序是一个非常重要的功能,可以说如果不排序,那么大数据查询出来的结果也将没有价值,那么hive作为hadoop数仓工具,自然也是可以提供排序整个功能的,接下来就为大家介绍一下,hive中查询排序的4个by。

2022-10-29 16:11:07 1194

原创 关于hive建表查询语句小记

(1)IF NOT EXISTS 选项来忽略表存在这个异常。(2)EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时可以指定一个指向实际数据的路径(LOCATION),在删除表的时候,内部表的元数据和数据会被一起删除,而外 部表只删除元数据,不删除数据。(3)COMMENT:为表和列添加注释。(4)PARTITIONED BY 创建分区表(5)CLUSTERED BY 创建分桶表(6)SORTED BY 不常用,对桶中的一个或多个列另外排序。

2022-10-28 13:01:00 1676

原创 zookeeper的基本介绍及选举机制

zookeeper翻译成中文就是非常形象,hadoop的图标是个大象,hive是个蜜蜂,pig是个猪zookeeper就是管理这些动物的管理员,负责统筹这些框架起到一个非常重要的作用。

2022-10-25 23:41:59 870 1

原创 shell常用于和管道“|”配合的命令

常用于管道符联动的命令,cat、less、more、head、tail、grep、cut、sort、uniq、tee、tr、split

2022-10-07 01:12:57 1500

原创 计算机组成原理--进程通信c常用函数小记

关于 pipe fork lockf wait的一些介绍

2022-10-01 21:54:20 636

原创 MapReduce的Partition和OutputFormat

Records和OutputFormat的一些问题,两者的基本作用,和两者共用的一些问题

2022-09-25 15:51:14 546 1

原创 NameNode和SecondaryNameNode的关系

(1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。(2)DataNode启动后向NameNode注册,通过后,周期性(6小时)的向NameNode上报所有的块信息。(3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。(4)集群运行中可以安全加入和退出一些机器。

2022-09-20 19:45:56 278 2

原创 hadoop的shell编程操作

以上就是常用的shell命令,这些命令在以后的学习中会大量使用,所以大家在学习过程中一定要多多尝试,多使用已达到熟练。首先这些命令都是在开启hadoop,hdfs集群后使用的所以上述实验都是基于hadoop集群环境使用。接下来这部分hadoop,shell命令和linux类似,linux果然是永远的神。拷贝本地文件到hadoop中 (本地文件上传完不会消失)剪切本地文件到hadoop中(本地文件上传完会消失)追加文件内容到一个已经存在路径的末尾。拷贝hadoop文件到本地。

2022-09-20 13:38:06 378

原创 LeetCode验证二叉搜索树

其实到现在我们也就可以发现一件事,那就是如果以父节点为界的话左边小于它,右边大于他,如果是一棵二叉搜索树的话,那么其中序遍历的结果就一定是升序的,那么这边就有第二种解法,中序遍历出序列,而后检查是否为升序,即可判断。接下来,问题就是我们如何知道范围为多少,其实也很好理解,如果是左子树,那么下面肯定是越来越小,那最大值其实就是上一个父节点的值,如果是右子树,那么下面肯定是越来越大,那么最小值其实也是上一个父节点,按照这个约束向下约束即可。输入:root = [5,1,4,null,null,3,6]

2022-09-18 15:32:33 280

原创 Hadoop集群配置相关架构介绍

DataNode翻译过来是数据节点,也就是一个工厂仓库,负责存储和处理Datanode是HDFS文件系统的工作节点,它们根据客户端或者是NameNode的调度进行存储和检索数据,并且定期向NameNode发送它们所存储的块(block)的列表。所以在集群部署时我们可以多个部署Datanode,用来缓解储存运行压力,相当于扩建工厂SecondaryNameNode翻译过来就是次要名称节点,也就是辅助NameNode管理HDFS,相当于一个秘书。

2022-09-14 00:18:01 352

原创 使用Xshell远程连接Linux

修改BOOTPROTO为static,使ip地址固定,这样就不用每次查看ip地址远程连接了。而后打开Xshell新建会话,配置相关属性,就可以使用远程连接啦。所以我们需要查看自己的系统是否开启了SSH服务。而后配置ip地址,网关,DNS,子网掩码等。得到网卡名称和网关后就可以编辑网卡配置了。首先我们需要确认自己的网卡名称。可以看出网卡名称为ens33。而后我们需要找到网关和子网掩码。编辑成功后esc退出编辑模式。如果有问题欢迎大家留言指出。而后输入命令重启网络服务。输入命令编辑网卡配置。

2022-09-06 14:25:48 1726

原创 使用Jedis远程连接redis

那么就会启用保护模式,这个模式下只能本地连接远程无法连接,所以我们可以设置密码。在配置文件找到protected-mode 默认是yes,我们修改为no。远程连接我们要使防火墙开发端口,不然会被防火墙拦截请求。首先找到bind 127.0.0.1 注解掉这一行。以上就是我使用Jedis遇到的问题,和解决。可以去maven仓库下载,搜索Jedis。随后,若你没有设置密码而且没有绑定地址。一定要关闭服务,再重启,不然修改不生效。或者配置谁可以远程连接。选择版本复制粘贴即可。

2022-08-25 16:24:00 2137

原创 Shell基本学习

shell是一个命令行解释器,主要用于翻译用户操作,调用系统内核是一个十分强大的编程语言Linux对shell提供了下面这几个解析器(可去etc/shells中找到解析器列表)/bin/sh/bin/bash/bin/tcsh/bin/csh(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。(2)等号两侧不能有空格(3)在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算。(4)变量的值如果有空格,需要使用双引号或单引号括起来。

2022-08-19 11:07:44 1062

原创 Linux常用基本命令

我们可以通过终端控制台来输入命令,由 shell 进行解释并最终交给内核执行。Shell 可以看作是一个命令解释器,为我们提供了交互式的文本控制台界面。-f 强制执行删除操作,而不提示用于进行确认。-f 显示文件最新追加的内容,监视文件变化。-a 全部的文件,连同隐藏档全部显示。可以分页显示,操作内容更加的方便快捷。-n 从头开始显示几行。-n 从尾开始显示几行。-l 长数据串列出,等价于ll。-r 递归删除目录中所有内容。-v 显示指令的详细执行过程。-n 显示行号,包括空行。...

2022-08-16 14:17:50 288

原创 Linux服务器操作常用命令

Linux的常用命令

2022-08-16 13:25:59 2619

原创 Vim文档编辑器常用语法总结

VIM编辑器是从 VI 发展出来的一个。可以主动的以字体颜色辨别语法的,方便程序设计。VIM与VI 编辑器。

2022-08-16 13:01:18 575

原创 Mybatis动态sql语句的使用

通过if语句对sql语句进行动态拼接以满足不同条件下的开发目标是一个降低耦合的好办法,但是因为sql语句条件下需要and 或者 or 连接条件,所以单单使用if语句并不能很好的解决问题,这个使用就可以在连接if语句之前加上一个永真语句就可以解决,也可以和后面的语句配合使用。若where标签中的if条件都不满足,则where标签没有任何功能,即不会添加where关键字若where标签中的if条件满足,则where标签会自动添加where关键字,并将条件最前方多余的 and去掉。......

2022-08-05 10:03:18 449

原创 @HttpMessageConverter注解的基本介绍

HttpMessageConverter

2022-08-02 11:46:23 258

原创 @RequestMapping注解基本介绍

value"要求请求映射所匹配的请求必须携带header请求头信息且header!"header=value"要求请求映射所匹配的请求必须携带header请求头信息且header=value。"pwd=123456"要求请求映射所匹配的请求必须携带pwd请求参数且pwd=123456。header"要求请求映射所匹配的请求必须不能携带header请求头信息。"header"要求请求映射所匹配的请求必须携带header请求头信息。"name"要求请求映射所匹配的请求必须携带name请求参数。......

2022-08-01 18:15:39 2634

原创 第十二届国赛真题-二进制问题

题目描述:小蓝最近在学习二进制。他想知道 1 到 N 中有多少个数满足其二进制表示中恰好有 K 个 1。你能帮助他吗?输入格式:输入一行包含两个整数 N 和 K。输出格式输出一个整数表示答案。样例输入7 2样例输出3评测用例规模与约定对于 30% 的评测用例,1 ≤ N ≤ 106, 1 ≤ K ≤ 10。对于 60% 的评测用例,1 ≤ N ≤ 2 × 109, 1 ≤ K ≤ 30。对于所有评测用例,1 ≤ N ≤ 1018, 1 ≤ K ≤ 50。本题思路可以用dp,或者转化成记忆化搜索这边参

2022-06-12 13:38:41 364

原创 第十二届国赛真题-异或变换

题目描述小蓝有一个 01 串 s = s1 s2 s3 · · · sn。以后每个时刻,小蓝要对这个 01 串进行一次变换。每次变换的规则相同。对于 01 串 s = s1 s2 s3 · · · sn,变换后的 01 串 s′ = s′1 s′2 s′3· · · s′n 为:其中 a ⊕ b 表示两个二进制的异或,当 a 和 b 相同时结果为 0,当 a 和 b不同时结果为 1。请问,经过 t 次变换后的 01 串是什么? 输入输入的第一行包含两个整数 n, t,分别表示 01 串的长度和变换

2022-06-10 22:16:13 92

原创 第十二届国赛真题-巧克力

小蓝很喜欢吃巧克力,他每天都要吃一块巧克力。一天小蓝到超市想买一些巧克力。超市的货架上有很多种巧克力,每种巧克力有自己的价格、数量和剩余的保质期天数,小蓝只吃没过保质期的巧克力,请问小蓝最少花多少钱能买到让自己吃 x 天的巧克力。输入输入的第一行包含两个整数 x, n,分别表示需要吃巧克力的天数和巧克力的种类数。接下来 n 行描述货架上的巧克力,其中第 i 行包含三个整数 ai, bi, ci,表示第 i 种巧克力的单价为 ai,保质期还剩 bi 天(从现在开始的 bi 天可以吃),数量为 ci。输出输

2022-06-08 23:22:40 637

原创 第十二届国赛真题-和与乘积

给定一个数列 A = (a1, a2, · · · , an),问有多少个区间 [L, R] 满足区间内元素的乘积等于他们的和,即 aL · aL+1 · · · aR = aL + aL+1 + · · · + aR 。输入输入第一行包含一个整数 n,表示数列的长度。第二行包含 n 个整数,依次表示数列中的数 a1, a2, · · · , an。输出输出仅一行,包含一个整数表示满足如上条件的区间的个数。样例输入复制41 3 2 2样例输出复制6提示【样例解释】符合条件的区间为 [1

2022-06-08 21:35:22 244

原创 【蓝桥】决赛 【123】

小蓝发现了一个有趣的数列,这个数列的前几项如下:1, 1, 2, 1, 2, 3, 1, 2, 3, 4, ...小蓝发现,这个数列前 1 项是整数 1,接下来 2 项是整数 1 至 2,接下来3 项是整数 1 至 3,接下来 4 项是整数 1 至 4,依次类推。小蓝想知道,这个数列中,连续一段的和是多少。输入输入的第一行包含一个整数 T,表示询问的个数。接下来 T 行,每行包含一组询问,其中第 i 行包含两个整数 li 和 ri,表示询问数列中第 li 个数到第 ri 个数的和。输出输出 T 行

2022-06-07 23:03:24 185

原创 机器人塔【第七届】【决赛】

X星球的机器人表演拉拉队有两种服装,A和B。  他们这次表演的是搭机器人塔。  类似:  A  B B  A B A  A A B B  B B B A B  A B A B B A  队内的组塔规则是:  A 只能站在 AA 或 BB 的肩上。  B 只能站在 AB 或 BA 的肩上。  你的任务是帮助拉拉队计算一下,在给定A与B的人数时,可以组成多少种花样的塔。  输入一行两个整数 M 和 N,空格分开(0......

2022-06-07 15:03:19 98

空空如也

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

TA关注的人

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