自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 汉诺塔问题及可视化操作

汉诺塔可视化 作为一个小白,深知算法的枯燥.但是,算法是要学习的。今天给大家提供一个好一点的学习方法。算法的可视化,让大家找到算法的兴趣。 就用Graphics2D这个类,操作很简单,没什么技术,但是和算法结合到一起,就很有趣了。会让你看到了算法的可视化操作,同样也感受到了算法的魅力,也许在以后的算法学习中,用可视化为你开启一段不一样的初学之路,也算是比较有趣的东西。 今天我们就来聊一...

2020-03-09 20:08:34 2596 7

原创 leetcode 173.二叉搜索树迭代器栈绝妙思路

来进行实现的,思路很好,很简练。进行next的时候,先是一直拿到左边的子树,直到null为止,这一步比较好思考一点,下一步,弹出时,只修改cur节点即可,所以,在利用while循环时,要注重循环变量代表什么含义才能够更好的写出优雅的算法来。以上算法题中一个比较好的实现思路就是利用栈来进行实现,以下方法三就是利用。

2025-01-03 22:33:20 292

原创 宇信科技JAVA笔试(2024-11-26日 全部AK)

第2题:相邻字符串可以进行变化,比如a可以变成b,a还可以变成z。问给一个字符串,最少执行多少次变化,可以使得字符串都是一样的。其中字符串都是小写字符。唯一一次笔试全部AK的,百分之百,还有十分钟就直接交卷了,思路可能并不是最好的,但是都100%啦。得到的值中0的个数,比如7!为5040,输出为2。第3题:格式化输出问题。

2024-11-26 22:01:11 716

原创 递归算法问题汇总-边界条件的位置

s2_index + 1 < s2.length()是控制isInterleaveByRecursion的,第二种方法会有问题,因为当3.charAt(s3_index) == s2.charAt(s2_index)满足的时候,s3_index不会加1,就代表s2中s2_index字母不会被使用。总结:边界条件可以放置于两个位置,合适的位置会使得思路以及编码非常优雅,特别是利用递归算法时,问题排查会更加困难。的位置,如果边界放置的位置不好,则会出现一系列问题,特别是在递归中,更不容易排查。

2024-11-20 15:11:19 369

原创 动态规划不同维度分析leetcode198.打家劫舍问题

一般来说,遇到递归时,先思考一维再思考二维,对于复杂的问题,可直接先对二维进行思考。一维一般注意点:(1)dp数组中当前索引对应存储空间存储的是从下标0到当前索引最优值,还是必须考虑当前索引的次优值,对于该题中第一种解法,当前房间必须偷的最优值。二维一般要注意五要素,特别是遍历顺序,可以思考对dp[i][j]中j进行遍历,正如该题,也可以按照二维数组遍历顺序进行遍历,当前值由(i - m (||、&&) j - n)s等所得。最后,为了方便编码,可以为边界预留空间,比如,本解法中dp数组长度都加了1。

2024-11-16 22:17:11 437

原创 动态规划技巧点

今天在哔哩哔哩上刷到了一个非常有意思的leetcode整数拆分的题,博主利用动态规划。我暂时没有想到动态规划来求解,因此先尝试一下记忆性递归,没想到击败100%用户,暂时不清楚leetcode屏蔽逻辑。该题并不是很难,但有一个递归技巧点,因此进行记录。由于该题解要求拆出的数字个数要大于1,但是在子递归中,不用进行拆分就也是可以的,因此,引入了一个flag参数,当第一次进行拆分的时候,只要拆分出两个,子问题没有这条限制,所以引入了一个flag。

2024-11-14 21:18:30 233

原创 WeakHashMap原理

WeakHashMap 中key在没有强引用的时候,如果发送了gc,该key就会被回收。为了保证一致性,该Map中回收方法为expungeStaleEntries。以上代码会遍历引用队列,然后删除已被回收的键值对。该方法会在getTable(获取表),size(获取表大学)、resize(扩容)的时候使用。因此,expungeStaleEntries方法会在WeakHashMap增删改查、扩容的地方调用。而getTable会在增删改查的时候调用。

2024-11-14 10:36:09 146 1

原创 SpringSecurity源码中核心类

SecurityBuilder是安全构架器,HttpSecurity和WebSecurity都是SecurityBuilder的实现类,HttpSecurity通过build()构建了一个SecurityFilterChain调用链。

2024-11-11 15:39:08 695

原创 LeetCode经典易错记录-22. 括号生成

回溯算法

2024-11-07 15:40:19 219

转载 SmartLifecycle用法

现在基本上所有的bean,都使用Spring容器来统一管理,SmartLifecycle用于在Spring加载和初始化所有bean之后,接着执行一些任务或启动需要的异步服务,SmartLifecycle 是一个接口。当Spring容器加载所有bean并完成初始化之后,会接着回调实现该接口的类中对应的方法(start()方法)。

2024-10-31 13:12:38 73

原创 Nacos配置刷新

【代码】Nacos配置刷新。

2024-10-30 17:42:59 186

原创 面试手撕代码-二十三种设计模式之备忘录模式

【代码】面试手撕代码-二十三种设计模式之备忘录模式。

2024-10-22 21:16:49 137

原创 面试手撕代码-二十三种设计模式之迭代器模式

【代码】面试手撕代码-二十三种设计模式之迭代器模式。

2024-10-22 20:26:57 130

原创 面试手撕代码-二十三种设计模式之观察者模式

【代码】面试手撕代码-二十三种设计模式之观察者模式。

2024-10-22 11:06:06 111

原创 面试手撕代码-二十三种设计模式之状态模式

【代码】面试手撕代码-二十三种设计模式之状态模式。

2024-10-22 10:50:22 112

原创 面试手撕代码-二十三种设计模式之责任链模式

【代码】面试手撕代码-二十三种设计模式之责任链模式。

2024-10-21 13:27:22 142

原创 面试手撕代码-二十三种设计模式之命令模式

【代码】面试手撕代码-二十三种设计模式之命令模式。

2024-10-21 09:54:54 124

原创 面试手撕代码-二十三种设计模式之策略模式

【代码】面试手撕代码-二十三种设计模式之策略模式。

2024-10-20 16:24:25 120

原创 面试手撕代码-二十三种设计模式之模版方法模式

【代码】面试手撕代码-二十三种设计模式之模版方法模式。

2024-10-20 16:03:14 143

原创 面试手撕代码-二十三种设计模式之享元模式

【代码】面试手撕代码-二十三种设计模式之享元模式。

2024-10-20 14:00:54 147

原创 面试手撕代码-二十三种设计模式之组合模式

【代码】面试手撕代码-二十三种设计模式之组合模式。

2024-10-20 11:02:43 139

原创 面试手撕代码-二十三种设计模式之外观模式

【代码】面试手撕代码-二十三种设计模式之外观模式。

2024-10-20 10:31:45 97

原创 面试手撕代码-二十三种设计模式之桥接模式

【代码】面试手撕代码-二十三种设计模式之桥接模式。

2024-10-20 10:18:01 252

原创 面试手撕代码-二十三种设计模式之装饰者模式

【代码】面试手撕代码-二十三种设计模式之装饰者模式。

2024-10-19 14:12:50 145 1

原创 面试手撕代码-二十三种设计模式之适配模式

【代码】面试手撕代码-二十三种设计模式之适配模式。

2024-10-18 10:29:04 140

原创 面试手撕代码-二十三种设计模式之代理模式

【代码】面试手撕代码-二十三种设计模式之代理模式。

2024-10-17 20:12:41 99

原创 面试手撕代码-二十三种设计模式之建造者模式

【代码】面试手撕代码-二十三种设计模式之建造者模式。

2024-10-17 11:47:55 129

原创 面试手撕代码-二十三种设计模式之原型模式

【代码】面试手撕代码-二十三种设计模式之原型模式。

2024-10-17 10:44:26 136

原创 面试手撕代码-二十三种设计模式之改进工厂类SPI机制

【代码】面试手撕代码-二十三种设计模式之改进工厂类SPI机制。

2024-10-16 20:16:52 99

原创 面试手撕代码-二十三种设计模式之抽象工厂

【代码】面试手撕代码-二十三种设计模式之抽象工厂。

2024-10-16 19:46:32 106

原创 面试手撕代码-二十三种设计模式之工厂方法

【代码】面试手撕代码-二十三种设计模式之工厂方法。

2024-10-16 19:31:39 127

原创 面试-二十三种设计模式之单例模式

【代码】面试-二十三种设计模式之单例模式。

2024-10-16 10:55:25 355

原创 面试-不同数组类型线程安全验证

【代码】面试-不同数组类型线程安全验证。

2024-10-16 09:51:15 93

原创 面试手撕代码-享元模型之连接池

【代码】面试手撕代码-享元模型之连接池。

2024-10-15 18:28:29 80

原创 手撕面试代码-手写原子整数类

【代码】手撕面试代码-手写原子整数类。

2024-10-15 15:52:13 101

原创 面试-UnSafe底层类使用

【代码】面试-UnSafe底层类使用。

2024-10-15 15:51:24 312

原创 面试手撕代码-两个线程交替打印奇偶数_Park_Unpark版本

利用Park_Unpark实现多线程奇偶打印。

2024-10-13 16:01:41 141

原创 面试手撕-两个线程交替打印奇偶数_wait_notify版本

面试手撕-两个线程交替打印奇偶数_wait_notify版本。

2024-10-13 15:17:59 134

原创 面试-同步之保护性暂停

【代码】面试-同步之保护性暂停。

2024-10-12 22:09:41 97

原创 面试-线程中异常解决策略

【代码】面试-线程中异常解决策略。

2024-10-07 11:16:46 502

空空如也

空空如也

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

TA关注的人

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