自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(241)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 VSCode CMake调试CPP程序

CMake编译CPP文件并调试

2025-04-12 23:53:34 293

原创 WPS Word中英文混杂空格和行间距不一致调整方案

解决方案:在段落->缩进与行间距 中,设置行间距为固定间距,然后调整。1292 WORD文档的中英文混编行间距不均匀如何解决?解决方案:在段落中调整换行,使用。

2025-03-06 22:56:21 914

原创 关闭Windows简繁切换快捷键

看了别人的文章,找了半天才找到!更多信息可以查看参考的文章【设置】【时间和语言】【语言和区域】【语言选项】【微软拼音】【键盘选项】【按键】【简体/繁体中文切换】取消勾选。

2024-10-14 10:54:55 1106

原创 【环境配置】DevC++ 集成开发环境

点击Next line程序运行到下一行,可见a的数值会变为2(此时,由于b,c的变量类型位int,进行浮点数运算时会舍弃小数点后边的值,为了得到正确的值,计算小数需要使用float或者double类型)这里是最容易出问题的地方,原因是Release编译的文件与Debug编译后的文件不一样,不能使用Relase编译后的文件Debug,否则报错,编辑器发生错误退出。使用Debug的编译器进行编译(不是64位的系统需要使用32位进行编译,当然64位系统可以直接使用32位编译器进行编译)

2024-10-11 00:09:47 2463

原创 Java设计模模式 - 工厂模式

优势:将产品实现和使用解耦,如果要改变产品的实现,对于创建者没有影响(调用创建者接口,而不关心如何创建)工厂方法定义一个创建对象的接口的工厂,需要子类来实例化具体的工厂,创建工厂需要子类来实现。再创建类的时候,有时候静态工厂方法可能更加合适,而不是只考虑构造方法。优势:可以把一群相关的产品集合起来,比如某些产品的颜色都是一样的。指定一个接口,用来创建依赖对象的家族的工厂,而不是指定具体的类。缺陷:工厂方法太单一,一个工厂只能生产一个品类。静态工厂方法的优缺点。工厂模式——工厂方法。工厂模式——抽象工厂。

2024-10-10 21:07:45 1195

原创 Java 设计模式 构建者模式

作用:将一个复杂对象的构建与他的表示分离,可以一步一步构建对象,而不是使用构造函数构造一次性构造。通过一步步构造复杂对象,使得代码更加清晰,避免构造器中参数过多导致代码的可读性和易用性变差。Builder模式 Java Builder 模式。builder模式又叫。

2024-10-09 21:54:14 535

原创 Git 根据远程分支拉取并创建本地分支

此时会根据远程分支创建本地分支,并拉取最新的内容。git基于远程分支创建本地分支。查看本地分支追踪的远程分支。根据远程分支创建本地分支。查看本地分支和远程分支。

2024-10-09 20:14:27 1144

原创 Git cherry-pick 转移提交

即cherry-pick的提交相对于当前没有任何的更改,此时可能是在当前的分支cherry-pick当前,此时推出即可;需要在一个稳定版本上添加一个刚刚开发完的版本中的某个功能,而不是所有的改动,此时就可以使用cherry-pick,将相关的commit提取出来,合入到稳定分支。使用方式:切换到需要cherry-pick的分支(即需要获取其他提交的分支),查看需要pick的分支的commitHash,执行。在有多个分支的代码仓上,将一个分支上的代码转移到另一个分支,目的是将个别代码的改动移动到不同的分支。

2024-10-09 17:13:30 1055

原创 LC538 - 把二叉搜索树转换为累加树

给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree)原来值小的节点的新值是原来值大的节点的累加,这里需要对节点进行排序了。这里的需求又是从大的值向小的值累加,可以将中序遍历的左右顺序颠倒,即。但是二叉搜索树又是排序好的,即中序遍历后的值就是排序好的值,指针的使用方式,先判空,非空时已经保存了之前的值,然后再赋值。就是将原节点的值小的节点的值变为后面大的累加的值。ACM模式:这里采用完全二叉树的方式构建二叉树。的顺序进行排序,在递归遍历的时候加入。

2024-10-08 22:13:41 497

原创 Java8 Optional使用详解

使用Optional用来表示一个引用对象存在或者不存在Optional类主要用来处理返回值为null的情况,避免出现对返回对象操作发生的情况,使得代码更加健壮Optional是容器对象,可能包含或者不包含非NULL值。

2024-10-08 15:44:16 999

原创 LC108-将有序数组转化为二叉搜索树(二叉平衡树)

但是这是一个排序好的数组,想一想,取中间的元素作为根元素,其余元素作为子树来构建二叉树,不是刚刚能达到平衡的条件吗?岂不是在不平衡的时候还需要左旋和右旋,这是对于一般的数组构建二叉平衡树来说的:就是当不满足任意一个左右子树高度之差的绝对值小于等于1的时候,需要进行旋转来保持二叉树的平衡。对于奇数个元素还是偶数个元素取mid的问题,如果是奇数个,刚好能取到中间;解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案。输出:[0,-3,9,-10,null,5]

2024-10-05 02:21:28 383

原创 【二叉树】LC669 - 中 - 二叉搜索树修剪

修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。【注意】处理满足条件的节点时不能直接返回结果,此时返回的节点以及其孩子不会被继续处理,其可能是满足条件的,因此继续递归对子树进行处理,返回处理后的节点。对于二叉搜索树来说,如果当前节点不在范围内,其左右子树也可能不在范围内,此时删除节点就方便很多。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。修剪就是将不在要求范围内的节点都删除,属于多个节点的删除操作。

2024-08-26 22:37:08 438

原创 【二叉树】LC405-删除二叉搜索树的节点

给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。【注意】主要是删除当前节点左右孩子都有的情况,此时需要将当前删除节点的左孩子放到右孩子的最左边,此时使用一个循环解决。同样的,如果删除右孩子,需要将要删除节点的右孩子放到放到要删除节点左孩子的最右边(二叉搜索树的性质)如果使用左孩子填充,需要将要删除的节点的左孩子放到要删除右孩子的最左边(二叉搜索树的性质)删除一个树的某个节点,并返回一个树,此时需要采用有返回值的递归。

2024-08-26 21:50:53 475

原创 LC3-中-无重复字符的最长子串

既然不知道开始和结束的位置,使用滑动窗口不断试探开始和结束,然后取其中最大的,这样时间复杂度就降下来了,时间复杂度O(n)最长无重复子串的长度,确定这个子串,长度自然就知道了,难点就是不知道这个字符串的开始和结束在什么位置。【注意】每次字符长度不能增加时,说明遇到相同的字符,此时从开始的地方逐步错小滑动窗口的大小。当然暴力的解法在LeetCode中是Timeout的,因此需要对算法优化。最开始就是暴力循环,两层循环,把所有可能的开始和结束都找到。【注意】end从0开始,即将最开始的字符加进去。

2024-08-15 22:57:59 408

原创 MYSQL 事务 与 索引

这种情况下的数据被称为“脏数据”,因为它可能会因为原始事务的回滚(rollback)而被撤销,从而导致读取该数据的事务得到了一个无效或不一致的数据视图。幻读是指在一个事务中,多次执行同一查询,但在两次查询之间,另一个事务插入了新的数据行,导致第一次事务的两次查询结果集大小不一致。不可重复读是指在一个事务中,多次读取同一数据,但在两次读取之间,另一个事务修改了该数据,导致第一次事务的两次读取结果不一致。【影响】不可重复读可能导致事务在执行过程中得到不一致的数据视图,影响数据的准确性和一致性。

2024-08-04 12:37:57 694

原创 MySQL数据管理 - 查询语句

运行的逻辑,在行上进行相加,然后在列上进行求平均,聚合函数还是聚合的列,聚合函数和分组常常在一起使用。根据两个表和多个表之间的关系进行查询和展示数据,使用JOIN语句实现。数据库最常用的操作就是查询,也是数据操作的基础,进行重点学习介绍。求平均值,最大值,最小值,求和,都是对查询的列的值进行运算。子查询将一个查询的结果用作数据库语句的条件。展示仓库和工人的关系,使用了工作关系联结。如果需要对多列进行聚合,此时需要使用。【注意】对每个学生进行分组查询,使用。,对不同列的数采取运算操作。

2024-08-04 12:28:08 1352 1

原创 MYSQL数据管理 - 增删改语句

对于增加数据、删除和修改数据,格式比较固定;记住场景就可以,重点是查询操作,这是数据库的常用操作。插入部分数据(数据为不NULL的必须插入):id自增,可以不插入。修改数据主要指定某几行或者一行,因此需要条件进行选择。删除满足条件的数据(结合表达式和查询语句)修改所有,此时会报错,可能会造成数据的丢失。删除全部数据,直接指定表名;

2024-08-04 12:21:28 447

原创 MySQL简介 数据库管理与表管理

创建表,创建表的过程需要指定【字段名】【列类型】(这两个是必不可少的);同时可以指定【属性(是否为空)】【索引】【注释】对数据表进行管理时,需要指定数据库;行为包括创建表,查看表,删除表,修改表。修改表,对表中的列进行操作:增加列,删除列,修改列;【常用】:INT, FLOAT, DECIAML。数据库管理主要有创建数据库,设置字符集,删除数据库。【常用】: VARCHAR 和 TEXT。【常用】: DATE,DATETIME。增加一列:需要制定【字段名】和【类型】修改列的名称和数据类型。

2024-08-04 12:14:08 725

原创 Docker简介 MacM1安装Docker

Docker主要解决了软件开发和运行配置的问题,但是由于其功能的强大,也被应用到服务器集群管理中版本环境不兼容依赖过时解决方案:既然环境不同,那我将环境一起打包不就好了。即把整个操作系统打包,这样又会导致软件安装包过大,对于一些常见的应用服务来说十分臃肿,反而阻碍了软件的传播怎么即能很好的打包应用,又能减少软件安装包的体积?设置一个中间层,因此Docker技术就此诞生。Docker技术用来解决软件和其依赖环境一起打包的问题将应用和bin/libs一起打包,以最小化安装环境。

2024-08-04 01:30:14 2368

原创 LC701-中-二叉树搜索树中的插入操作

给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。因此一般左右子树都要接收返回的值(递归构建),然后将构建好的二叉树返回。迭代的方式,如果只使用当前节点,当迭代到需要插入的空位时,已经丢失了父节点的值;当然也可以把插入的节点当做头节点,然后对树的结构做调整;使用递归法返回构建好的树,可以将新的二叉树的指针连接到树上,就是上次节点接住了递归函数的返回值。类似双指针法,cur指针走到条件时,prev指针进行操作,最后操作时判断插入节点的方向。

2024-07-30 10:48:53 358

原创 DBeaver使用SQL脚本编辑器

光标放到需要执行的行上,点击【最上面的按钮】dbeaver安装和使用教程。或者选中某片代码,然后执行。也可以编写一个脚本然后执行。

2024-07-29 01:08:40 1420

原创 MacOS 使用DBeaver连接MySQL数据库 以及常见的问题

DBeaver是一款免费、开源、跨平台数据库连接软件,支持各种数据库连接,可以帮我我们轻松的管理数据库。

2024-07-29 00:16:19 1046

原创 LC235-中-二叉搜索树的公共祖先

为什么是第一次出现在区间内就是呢,想象一下,上图终[1,3, 5, 6, 8, 9],其中找1和9的最近公共祖先,自上而下的遍历,5是第一次出现在区间内,无论向左还是向右,这些点是第二次出现在区间内,则会跑到另一个子树上,因此不能满足寻找公共祖先的条件。【考虑到二叉搜索树的性质】:如果一个节点第一次出现在p和q的区间(q.val < q.val)内,则其就是二叉搜索树的最近公共祖先。在二叉搜索树的公共祖先中,使用后序遍历的方式在左右子树中查找,并扫描了整个树的节点,能不能扫描部分节点,以节省时间?

2024-07-28 16:14:34 296

原创 LC236-中-二叉树的最近公共祖先

最近公共祖先的定义为:对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。找祖先节点只判断当前节点是不是一个目标节点的祖先节点。是不是可以在左右子树中同时找孩子节点,如果找到则其为最近公共节点(因为是自底向上查找的)刚开始的思路是找目标节点的所有公共节点,找到祖先节点后,加入列表中,从后向前遍历,最有一个相同的就是最近公共祖先节点。后序遍历:在子树中招目标节点,如果找到,就将节点放入List中。

2024-07-28 11:33:00 299

原创 LC501-简-二叉搜索树中的众数

可以使用Map,然后对Map进行排序,求出现次数最大的树。时间复杂度为O(nlogn),空间复杂度为O(n)。也可以不排序,直接求频率最大的数。时间复杂度为O(n), 空间复杂度为O(n)给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按。从一般的角度考虑,求解二叉树的众数;遍历二叉树,获取所有的值,求解众数。直接从BST中序获取有序的序列,使用有序序列求解众数。基本与有序数组的遍历是一样的。

2024-07-26 23:39:38 730

原创 LC530-简-二叉搜索树的最小绝对差

对于一般二叉树来说,返回任意两个节点差的最小值(绝对值),先取出所有的元素,对元素进行排序,找两两差的最小值。时间复杂度为O(nlogn),空间复杂度O(n),主要是排序算法时间复杂度高。使用一个指针保存前一个节点,第一次遇到的时候不计算,而后保存前一个值,计算中序遍历当前节点和前一个节点的差。但是对于BST来说,由于知道节点之间的大小关系,可以省去排序的步骤,时间复杂度就是O(n),空间复杂度为O(n)。由于BST遍历的时候就有一定的顺序,所以在中序遍历的时候,能不能计算当前节点和前一个节点的值呢?

2024-07-24 00:22:42 273

原创 LC98-中-验证二叉搜索树

遍历的方式最慢,因为要彻底遍历整个树;对于递归的情况,如果遇到不满足的情况就即刻返回了,不会遍历整个树;给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。逐个比较的问题,不能比较整个子树;二叉搜索树的先验知识:中序遍历二叉搜索树,这个序列为递增序列。当遍历所有的节点后,没有出现false的情况,则为true。知道这点后,可以获取中序遍历的序列,检测其是否递增即可。当出现不满足条件的节点,则返回false。采用中序遍历的方式,检测元素是否递增。根据上面的规则,递归判断。

2024-07-23 01:42:21 447

原创 MacOS安装SDKMan管理Java版本

用过Conda便携Python程序时,可以通过conda env来管理Python的版本和环境,类似的,Java也有相关的工具,就是今天的SDKMain通过SDKMan,可以轻松安装相关的Java版本,并设置当前环境和系统环境的Java版本,省去环境变量的切换。

2024-07-22 23:52:26 1651

原创 LC700-简-二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val。在 BST 中找到节点值等于 val 的节点。返回以该节点为根的子树。如果节点不存在,则返回 null。对于二叉树搜索树,由于具有节点的大小关系,在遍历二叉树的过程中,指定了遍历的方向,进入一个分支后,则不会进入另一个分支,时间复杂度O(logn)这个是没有想到的方法,BST查找具有的性质就是不用回溯,只有一条路径,因此可以对这条路径进行遍历。原因: root更新后,不可以直接使用,需要判断其是否为null。首先想到的就是递归遍历。

2024-07-22 00:42:40 352

原创 MacOSM1 VsCode 设置Code快速启动

但是这个命令只在当前的session生效,退出回话后消失。因此需要将这个命令加入到配置文件中。使用alias取别名,将长命令变为短命令,方式为。使用取别名的方法,使用code命令。在wsl中使用 code .Mac中VSCode安装在。

2024-07-21 20:59:35 653

原创 MacOSM1 配置Miniconda环境,并设置自启动

zshrc 文件中将会出现以下内容。Mac安装Conda。

2024-07-21 19:15:10 459

原创 MacOS M1 安装item2 并配置Zsh

MacOS自带终端,但其提供的工具有限。为了更加方便的使用MacOS上的终端,推荐使用item2,帮助我们美化终端。与使用主题的逻辑类似,在指定文件目录安装,并在配置文件中指定即可。词条命令会覆盖原有的配置,建议将原有的配置备份。由于下载了整个项目,其中默认包含了很多主题,位置。设置主题,输入文件名即可,修改后使用。首先设置为Dark模式,然后取消勾选。选择显示的内容,通过拖拽的方式即可。ohmyzsh自带了一些插件,位置。不可随意修改下载插件的名字,要与。后解压,并移动到默认安装位置。

2024-07-21 18:58:27 5622

原创 LC617-合并二叉树

对于递归结束的条件,可以进行代码优化;返回树的逻辑可以为:如果一颗树为空,则返回领一颗,如果领一颗是null则直接结束;如果不是null,则进行了连接。将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并二叉树需要遍历整个树;由于对左右树进行操作,考虑使用递归遍历。给你两棵二叉树: root1 和 root2。注意: 合并过程必须从两个树的根节点开始。返回合并后的二叉树。

2024-07-21 11:31:11 524

原创 SpringBoot start.aliyun.com创建项目,解决properties乱码的问题

由于SpringBoot3不再支持Java8,根据网上的解决方案,阿里云有SpringBoot支持Java8的初始化器。但是使用这种方式初始化的项目发现properties乱码了,因此需要修改编码方式。springboot中properties的中文显示乱码解决。编码,而系统是UTF-8编码,两个编码要一致。可以看到,使用aliyun初始化的项目,采用。再次输入并再次打卡,不再乱码。

2024-07-20 01:14:07 470

原创 Mac 安装MySQL 配置环境变量 修改密码

首先我得密码肯定是对的,权限也没有问题;可能是原因4,用了很多办法,仍然没有成功,因此只有重置大法:初始化mysql。问题:按照第二种方式修改密码,导致数据库无法登录。intialize后数据会消失,所以建议经常备份。命令行启动mysql后无法在设置中操作。建议:对数据库进行备份,防止数据丢失。Mac下关于MySQL一些常用命令。MySQL密码正确却无法本地登录。Mac 命令行方式启动MySQL。mysql8更改用户密码命令。mac M1 安装mysql。MySQL5.7 之前。对于Mac M2芯片。

2024-07-19 00:01:35 896

原创 SpringBoot整合Swagger报错:Failed to start bean ‘documentationPluginsBootstrapper

Swagger是SpringBoot中常用的API文档工具,在刚接触使用的时候,按照通用的代码进行配置,发现报错了。高版本SpringBoot整合Swagger 启动报错。,所以需要修改SpringBoot3中的路径匹配规则。DEA报错之Failed to start bean。而SpringBoot3的路径匹配依赖。Springfox路径匹配基于。

2024-07-16 00:27:58 708

原创 Pytorch 计算深度模型的大小

卷积时间复杂度与空间复杂度的计算方式:C 通道的个数,K卷积核大小,M特征图大小,C_l-1是输入通道的个数,C_l是输出通道的个数。

2024-04-24 15:43:23 1251

原创 torchstat 解决 AttributeError: ‘DataFrame‘ object has no attribute ‘append‘

top]

2024-04-23 22:55:52 648

原创 Mac M1 安装Oracle Java 与 IEDA

Mac M1 安装Java 开发环境。使用finder中的拖拽进行安装即可。同样的,下载完后拖拽安装即可。

2023-08-09 09:46:04 1305

原创 PIL.Image 调色板模式处理标签数据

PIL自定义调色板

2023-06-29 22:43:38 1035

增强版的RocketDock.zip

增强版的RockerDock是模仿Mac OS的桌面工具栏,使得windows也有响应的使用工具,使得操作windows更加方便快捷

2020-10-26

MacGitHubDesktop.zip

MacGitHubDesktop.zip

2020-09-18

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

TA关注的人

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