- 博客(78)
- 收藏
- 关注

原创 从中序与后序遍历序列构造二叉树
问题描述:给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。输出示例:示例1:输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例2:输入:inorder = [-1], postorder = [-1]输出:[-1]思想:利用分治的思想来解决该题结合
2022-02-28 13:47:44
232
原创 深入理解Java代理模式:从静态到动态的实现与应用
实现原理: JDK动态代理是基于Java反射机制实现的,它要求目标类必须实现一个或多个接口,代理对象在运行时动态创建,通过实现目标类接口的方式来代理目标类。CGLIB代理则是基于ASM字节码框架实现的,它可以代理没有实现接口的目标类。性能表现: JDK动态代理因为需要实现目标类接口,所以它的性能相对较低,但是它的应用场景更为广泛,适用于大多数情况下的代理需求。CGLIB代理则因为不需要实现目标类接口,所以它的性能相对较高,但是它不能代理final类和final方法,以及一些无法生成子类的类。
2024-08-23 21:07:13
1294
1
原创 深入解析三路快排:一种高效的排序算法
在数据结构和算法的世界中,快排(Quick Sort)无疑是最受欢迎的排序算法之一。今天,探讨一种优化的快排变体——三路快排(3-Way Quick Sort),它在处理具有重复元素的数组时展现出了令人惊叹的效率。
2024-08-14 13:12:30
1295
原创 Java 线程池详解
线程池是一组已经初始化并等待执行任务的线程集合。通过使用线程池,我们可以避免频繁地创建和销毁线程,从而节省资源和减少系统开销。线程池的核心思想是通过复用线程来提高性能。
2024-07-13 22:56:10
9633
3
原创 理解和实现 LFU 缓存置换算法
LFU算法的核心思想是优先淘汰那些访问频率最低的数据项。在缓存达到容量限制时,LFU算法会移除那些被访问次数最少的缓存条目。如果多个条目的访问次数相同,则根据它们最早被访问的时间进行决策,优先删除最早被访问的条目。
2024-06-25 17:00:19
767
原创 记录react实现选择框一二级联动出现的问题
因为之前的代码使用我们自己封装的ProTable组件,最后没有使用组件,而是直接使用ProTable,没有报错我们封装的ProTable组件错误分析过程通过查看第一次点击截图,我发现第一次valueEnumList没有值,第二次选择一级分类的时候valueEnumList有值,所以我首先怀疑是这段代码引起的问题,因为在React中setXxx方法是一个异步函数,可能导致在 handleFirstClassifyChange 函数中的 valueEnumList 并没有及时更新到最新的状态。最后根据
2024-06-24 22:14:39
613
原创 精度丢失引起的支付失败问题
在提交订单时候,输入充值金额和优惠码,后台会返回具体的订单信息,如下图,支付金额应该是1 * (1 - 0.09) = 0.91(这个是理想状态),但是表单显示的是0.90999997,然后点击确认的时候,它会进行支付请求,最终报错如下,错误表达就是参数无效去支付宝沙箱官网看参数设置,主要是下面这五个参数其中total_amount这个参数它要求精确到小数点后两位,再看我订单返回的值是0.90999997,就是这个参数导致支付失败精度丢失说明:浮点数精度丢失问题源于计算机如何表示和处理浮点数。计
2024-06-18 11:42:55
499
1
原创 最长连续序列
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
2024-06-12 14:46:19
349
原创 理解和实现 LRU 缓存置换算法
LRU算法的核心思想是:在缓存空间不足时,淘汰最长时间未被访问的数据项。这种策略适用于多种场景,包括Web缓存、数据库查询缓存、操作系统的页面置换等。
2024-06-07 19:44:58
808
原创 Warning: Each child in a list should have a unique “key“ prop.
问题描述:使用ProTable的时候,报错如下。
2024-05-28 13:25:01
386
原创 页面加载不出来,报错[@umijs/runtime] load component failed
但是,由于 express 的依赖项中包含了很多服务器端特有的代码,打包工具无法正确处理这些代码,导致运行时错误。express 依赖于 Node.js 的一些核心模块,比如 http、url、fs 等,这些模块在浏览器环境中不存在。在页面中引入 express 会报错的原因是因为 express 是一个服务器端框架,它依赖于 Node.js 环境中的模块和功能,而这些模块和功能在浏览器环境中是不可用的。之前页面是没有问题的,在写当前页面突然出现页面加载不出来,控制台报错,主要是页面引入了这行代码报错。
2024-05-28 13:08:21
674
原创 react实现动态增减表单项
前端向后端传送的是一个对象数组,也就是这种格式:[{label: ‘xxx’, value: ‘xxx’}]后端用Go实现,因为每次新增的信息可能不一样,所以每次新增的时候,会先删除旧的数据,再插入。在做项目的时候,甲方给的信息有限,网页的备案信息写成固定的,如下图所示。
2024-05-22 16:08:01
555
原创 react的多级路由定义
path: 'music', // 一级路由routes: [path: 'clManager', // 二级路由},path: 'clManager/detail', // 三级路由},
2024-05-15 11:18:53
428
原创 常见的限流算法
固定窗口算法是最简单的限流算法之一,其核心思想是将时间划分为固定大小的窗口,并在每个窗口内限制请求的数量。具体来说,系统维护一个大小为 N 的计数器,每当有请求到来时,计数器加一。当一个窗口结束时,如果计数器的值超过了预设的阈值,则拒绝后续的请求。固定窗口算法的实现简单,但容易受到突发流量的影响,因为请求可能会在同一窗口内集中到达。假设单位时间1s(窗口大小),限流阈值是4。
2024-04-25 20:34:13
1440
原创 docker部署SpringCloud微服务项目
2、服务器安装Docker、Docker Compose。最后查看docker容器面板,所有服务都启动成功。这样微服务项目在本地就部署成功。1、服务器安装maven。
2024-04-19 00:55:51
1682
1
原创 SpringBoot整合支付宝沙箱支付
因支付需要回调地址,回调地址必须是公网,如果有公网的话,那直接在下面配置文件填写自己的公网,没有的话,就需要我们借助第三方工具来进行回调。
2024-04-09 23:25:38
544
1
原创 解决前端精度丢失问题:后端Long类型到前端的处理策略
前端精度丢失问题是一个常见的挑战,但通过上述三种方法,我们可以有效地解决这个问题。在实际开发中,我们可以根据项目的具体情况和需求选择合适的方法。对于需要精确表示大数字的场景,将Long类型转换为String类型是一个简单而有效的解决方案。
2024-04-07 23:13:57
9653
1
原创 解决The bean ‘XXX.FeignClientSpecification‘ could not be registered
解决完,紧接着就出现这个问题The bean ‘XXX.FeignClientSpecification’ could not be registered.A bean with that name has already been defined and overriding is disabled.
2024-04-01 00:10:21
4517
原创 解决多模块项目报错,找不到程序包
在之前的项目开发中,由于各个模块之间的交互较少,没有出现引用其他模块中类的问题,因此这个问题一直没有被发现。现在,我们有两个模块,分别是yz-service-pay和yz-service-promotion。其中,yz-service-pay模块需要使用yz-service-promotion模块中的Promotion类。@Override// 省略在先后运行mvn clean、mvn compile、mvn install命令时,mvn install阶段报错,提示“程序包找不到”。
2024-03-31 17:40:26
650
原创 openfeign服务调用返回结果报错,Type definition error: [simple type, class XXX]
OpenFeign服务调用返回结果报错,特别是涉及“Type definition error”的问题,通常与目标类的序列化有关。确保目标类具有公开的无参构造器,并检查相关注解和配置,通常可以解决这类问题。
2024-03-27 10:02:04
2987
原创 java.lang.IllegalStateException:方法有太多主体参数
Method has too many Body parameters” 异常可能会影响 Java 项目的正常运行。通过移除不必要的参数、重新设计接口或优化依赖注入配置,我们可以解决这个问题,确保应用程序的稳定性和可靠性。开发者应该根据具体情况选择合适的解决方案,并遵循良好的代码设计原则,以提高项目的可维护性和可扩展性。希望本文提供的解决方案能够帮助您解决类似的异常。
2024-03-24 01:20:02
4644
1
原创 记nacos动态刷新报错
环境是SpringBoot3.0.2SpringCloudAlibaba->2022.0.0.0org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'httpClientProperties': Could not bind properties to 'HttpClientProperties' : prefix=spring
2024-03-21 17:02:27
1265
8
原创 最长递增子序列
/ dp[i]表示以第i个元素为结尾的最长上升子序列的长度。i < n;i++){j < i;j++){// dp[j] + 1 表示在以 nums[j] 结尾的上升子序列的末尾添加当前元素// nums[i] 后,得到的新的上升子序列长度为 dp[j] + 1。因为当前元// 素 nums[i] 可能可以添加到以 nums[j] 结尾的上升子序列中,所以需// 要比较加入当前元素后子序列的长度是否更长,如果更长则更新当前// dp[i] 的值。return res;
2023-11-20 22:18:04
287
原创 在排序数组中查找元素的第一个和最后一个位置
/ 说明在右半部分}else{// 可能找到了,但不确定是否是第一个,继续缩小范围return -1;// 可能找到了,但不确定是否是最后一个,继续缩小范围}else{// 大于target,就缩小范围,在左半部分return -1;
2023-10-26 14:41:43
149
负载均衡策略(随机策略)
2022-10-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人