- 博客(50)
- 收藏
- 关注
原创 DAY32|1005.K次取反后最大化的数组和,55. 跳跃游戏,45.跳跃游戏II
1005.K次取反后最大化的数组和,55. 跳跃游戏,45.跳跃游戏II
2024-04-22 23:29:59 297
原创 DAY24,DAY25|回溯讲解,77.组合,216.组合总和III,17.电话号码的字母组合
回溯讲解,77.组合,216.组合总和III,17.电话号码的字母组合
2024-04-14 20:57:26 352
原创 DAY23|669.修建二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树
669.修建二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树
2024-04-12 13:18:39 382
原创 DAY22|235.二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点
2024-04-10 23:38:48 260
原创 DAY21|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先
530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先
2024-04-09 23:48:15 220
原创 DAY20|654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
2024-04-08 23:54:44 296
原创 DAY18|513.找树左下角的值,112.路径之和,106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
513.找树左下角的值,112.路径之和,106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
2024-04-07 23:55:17 251
原创 DAY16|104.二叉树的最大深度,111.二叉树的最小深度,222完全二叉树的个数
104.二叉树的最大深度,111.二叉树的最小深度,222完全二叉树的个数
2024-04-05 19:45:38 437
原创 代码随想录-DAY5|哈希表相关题1
为什么要用Map呢?设想一下,我们使用暴力解法完成这题的时候,实际上,我当时也不想遍历第一个元素的时候,去跟所有的后续的元素进行比较;那么这时map就起到了作用,我们每遍历一个元素,就去map里查找是否存在key=(target-num[i]),存在就返回下标value和当前元素下标i就行,不存在就将当前的key=num[i],value=i存入map中;1、此题中规定,输入的皆为小写字母,所以我们可以定义一个长度为26的数组,下标0到25分别存储出现’a’到’z’在字符串中出现的次数;
2024-03-26 00:12:33 565
原创 自定义AQS锁
自定义一个不可重入锁的独占锁,首先,我们都知道synchronized的原理了,那么如果不使用synchronized怎么达到synchronized的原理思想,1.首先,我们通过一个状态来知道当前是否被占用 state 0表示无锁 1表示被占用, 2.加锁时,通过cas操作来尝试将state从0变成1,如果成功则获取到锁,如果失败,则进入一个等待队列(这相当于monitor中的waitSet一样的想过)...
2022-07-31 10:15:03 216
原创 mysql设置允许外部访问
1. 登录进入mysql;mysql -uroot -p输入密码进入2. 输入以下语句,进入mysql库,查看user表中root用户的访问3. 更新user表中root用户域属性,'%'表示允许外部访问,如下图演示;4. 执行以上语句之后再执行,FLUSH PRIVILEGES;5. 执行授权语句然后外部就可以通过账户密码访问了。当然,类似于访问阿里云服务器还需要开放端口和进行防火墙设置;......
2022-06-30 14:16:59 11544 2
原创 BST二叉排序树代码实现
二叉排序树:BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大类似于这样一组数据 (7, 3, 9, 1, 4, 8, 15, 2) ,依次加入后对应的二叉排序树应为:添加的思路较简单,从根节点开始遍历添加,如果值比当前节点小,则向左子节点递归添加,如果比当前节点大,则向右子节点递归添加;先找到需要删除的节点;再找到需要删除的节点的父节点;判断需要删除的节点是以下那种类型:a. 删除叶子节点
2022-06-30 13:50:36 184
原创 事务的隔离级别与传播行为
1.事务的四⼤特性原⼦性(Atomicity)原⼦性是指事务是⼀个不可分割的⼯作单位,事务中的操作要么都发⽣,要么都不发⽣。从操作的⻆度来描述,事务中的各个操作要么都成功要么都失败⼀致性(Consistency)事务必须使数据库从⼀个⼀致性状态变换到另外⼀个⼀致性状态。例如转账前A有1000,B有1000。转账后A+B也得是2000。⼀致性是从数据的⻆度来说的,(1000,1000) (900,1100),不应该出现(900,1000)隔离性(Isolation)事务的隔离性是多个⽤户并发访问数据库时,数据
2022-06-28 22:37:27 413
原创 MySQL8.0 忘记 root 密码怎么办?
mysql8.0,忘记root密码如何修改?1.vim /etc/my.cnf,添加 skip-grant-table(跳过权限验证),注意是加在mysqld模块下;2.重启mysql服务;3.进入mysql -uroot -p, 此时可直接无密码登录;4.进入mysql数据库下进行旧密码置空(Mysql8.0)...
2022-06-20 17:52:06 7010
原创 数据结构-二叉树图解与实现
需要一种数据结构来平衡查找与插入效率,使得查找速度和插入速度都能得到提升,因此有了树这种数据结构。如果该二叉树的所有叶子节点都在最后一层,并且结点总数= 2^n -1 , n为层数,则我们称为满二叉树。如果该二叉树的所有叶子节点都在最后一层或者倒数第二层,而且最后一层的叶子节点在左边连续,倒数第二层的叶子节点在右边连续,我们称为完全二叉树前序遍历先遍历父节点,再遍历左子节点,最后遍历右子节点中序遍历先遍历左子节点,再遍历父节点,最后遍历右子节点后序遍历先遍历左子节点,再遍历右子节点,最后遍历父节点可以看
2022-06-18 11:05:11 894
原创 从自定义AtomicInteger到其源码分析
通过自定义AtomicInteger可以帮助我们理解其源码首先,我们想达到的目的是能够完成一个保证在不使用synchronized关键字的情况下,保证对int的操作安全;大致代码思路如下:根据上述思路编写大致代码如下:编写测试代码可以观察到测试结果正常;先观察AtomicInteger的结构,红框部分是此次分析主要部分;可以观察到,同样AtomicInteger对int的操作同样是用volitile封装的,保证可见性;同时也用valueOffset存储了在对象中int属性的偏移量;从源码分析
2022-06-14 15:24:43 152
原创 享元模式与自定义连接池
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。然后通过自定义数据库连接池来学习和了解连接池的思想原理,练习代码通过synchronzied和semaphere信号量两种版本来控制线程状态...
2022-06-13 15:39:36 320
原创 使用ReentrantLock顺序打印-循环打印ABC
ReentrantLock练习代码,利用ReentrantLock完成循环打印和达到同步控制的目的,代码案例为循环打印-循环打印ABC
2022-06-13 14:24:59 277
原创 volatile关键字
本文通过案例来描述JMM中可见性和有序性,然后分析volatile关键字是如何保证的可见性和有序性,并且拓展一下关于happen-before规则相关知识;
2022-06-08 10:52:27 208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人