white and white
码龄6年
关注
提问 私信
  • 博客:25,828
    社区:1,926
    问答:356
    动态:159
    28,269
    总访问量
  • 30
    原创
  • 2,273,765
    排名
  • 12
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2019-06-13
博客简介:

weixin_45238785的博客

查看详细资料
个人成就
  • 获得38次点赞
  • 内容获得2次评论
  • 获得58次收藏
  • 代码片获得263次分享
创作历程
  • 1篇
    2024年
  • 9篇
    2023年
  • 7篇
    2022年
  • 2篇
    2021年
  • 11篇
    2020年
成就勋章
TA的专栏
  • 算法
    8篇
  • java
    12篇
  • Date
    2篇
  • 数据结构
    6篇
  • SPV验证
    1篇
  • Merkle
    1篇
  • 区块链
    1篇
  • mybatis
    1篇
  • shiro
    1篇
  • jwt
    1篇
  • 排序二叉树
    1篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Leetcode学习之120. 三角形最小路径和 (经典动态规划)

这只是最经典的动态规划解决,其实还有dp+空间优化,可以看到我们的矩形其实只占用了一半的空间,而且每个子问题只会与上一个**dp[i][j-1],dp[i-1][j-1]**相关,其他的都是无关的,我们可以替换掉这些无关变量,以达到O(n)的空间复杂度。* dp[i][j] = Min(dp[i][j-1],dp[i-1][j-1]) + List.get(i).get(j) 这是针对有左右父节点的元素。每层的最右节点有且只有一个父亲节点,
原创
发布博客 2024.01.05 ·
646 阅读 ·
9 点赞 ·
0 评论 ·
9 收藏

Leetcode学习之134. 加油站

其实就说明正如我下图说的一样,假设车辆A不能到达 y+1的油站上,则 x到y上的任意一点都无法到达y+1.因为最好的情况是从一开始出发,然后每个油站都有剩余的油(gas>=0),但是这种情况下都无法达到y+1,更别提从x之后的点位出发,每次都从0开始算起(gas=0)带入上面的2个不等式 gas[ z ] + gas[ z+1 ] +…+gas[ z-1 ] )1. gas[ i ] + gas[ i+1 ] +…+ gas[ z ] = > cost[ i ] + cost[ i+1 ] + …
原创
发布博客 2023.12.08 ·
427 阅读 ·
11 点赞 ·
0 评论 ·
10 收藏

Leetcode学习之209. 长度最小的子数组

这种数组的题目(尤其是连续子数组)第一眼一般都是会用暴力法就能破解,因此可以延伸出第一种解法,暴力法。],逐个遍历,以确定每个 nums[i] — nums[j] >= target,用min一直维护最新的最短连续子数组即可。通常数组,我们都会寻求一种只遍历一次,也就是O(n)的时间复杂度的解法。题目说了,只要>=target就行,那我们只要保持遍历数组的过程中,保持target 值就可以了。* 滑动窗口,通过前后指针,前指针先走,每次判断两指针内的所有数相加是否大于target,记录长度。
原创
发布博客 2023.11.10 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode学习之139.单词拆分---dp

看到这个问题,其实一开始我是想用单纯的逐个单词匹对的方式,也就是通过遍历字符串S,从0开始如果有 s[0~i] contains wordDict里的某个单词,则认为 0 ~ i组成的子串可以拼接出,如果不包含,则通过 0 ~ i-j(j通过循环逐步增加直至到s[0]) + s[j] 查看是否可以独立通过字典中的单词拼接。**用在这个剪枝的方法里。从问题来看,其实是一个背包问题,s就是需要填充的空间,wordDict就是可以填充的物品,由于没有限制wordDict的使用次数,因此可以看作是完全背包问题。
原创
发布博客 2023.09.27 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode学习之167.两数之和II--输入有序数组

有序,二分法,那我们是不是可以通过两个指针,第一个指针i指向第一个数,然后target - numbers[i] = x,把x作为二分查找的new target让他查找呢,这样或许对时间复杂度会有稍稍的提升。这道题其实第一眼看到有序,(二分法的DNA就动了),但是题目只要求了常量级的额外空间,没有时间要求,所以我们可以通过逐个遍历,也就是 n² 的时间复杂度去完成这题目。可以看到一次比对下来,把所有的15以及第一排的遍历都可以省略了,接下来是倒数第二个大的数字,也就是我们的11,,所以我们舍弃后续的遍历。
原创
发布博客 2023.09.20 ·
82 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【工具类】---JAVA图表日期工具类

JAVA折线图,柱状图日期工具类
原创
发布博客 2023.09.19 ·
150 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Nginx阿里云个人项目配置代理

发布资源 2023.09.18 ·
conf

Leetcode学习之238. 除自身以外数组的乘积

逐个计算,如果可以除法,只需要遍历一次得出整个数组的乘积,然后第二次遍历的时候,用总乘积除掉当前idx对应val即可。因此我们可以利用乘法,其实题目就需要把除去该数,其他的所有乘积,我们只需要遍历一遍,把该数组每个对应的数据项的左右乘数算出来即可,1. 新建左右前缀数组,用于存放当前idx所对应的数据的左右乘数。
原创
发布博客 2023.08.30 ·
109 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Leetcode学习之 80.删除有序数组中的重复项 II

执行速度0ms,题目重点是原地删除以及只可以使用额外的O(1)空间。所以按照平常的新旧数组复制是不可行的。因此想到了利用双指针(fast,slow)利用元素交换下标的或者覆盖的方式进行删除。最后只需要返回slow的下标位置,就是题目所需要的删除后的数组长度啦。图中实例: nums = 0 0 1 1 1 1 2 3 3。
原创
发布博客 2023.08.04 ·
149 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Leetcode学习之 12.整数转罗马数字

Leetcode 12.整数转罗马数字(middle)
原创
发布博客 2023.07.28 ·
73 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

分布式,多线程(MQ多消费者)的情况下,关于redis以及数据库出现的数据重复问题

Transactional和Synchronized在多线程环境下的一些问题
原创
发布博客 2023.03.03 ·
791 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Base64转码后不保存到本地,直接上传minio

Base64编码图片无需保存到本地,直接上传到Minio
原创
发布博客 2022.12.21 ·
1852 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

MybatisPlus代码生成器的flt模板文件改造计划

我们知道freemarket可以通过#{xxx},${xxxx}渲染对象变量的值. 正如下图所示,我们知道前面通常是项目的名字以及一些公司前缀,这些通常在一个很大项目中都是固定的,每次需要添加新的需求的时候,都可以利用代码生成器根据模板快速生成对应的基础服务.里面的字段太少太少,并不能满足我们的需求,因此,我们需要利用java的继承,对其进行拓展,那应该如何下手呢. 首先我们需要找到该模板引擎所渲染的字段最后到底是出自哪里的.中的execute方法,把我们设置的。模板中的包名也如期的出现了。.......
原创
发布博客 2022.08.04 ·
884 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

通过Map映射替代递归形成一个层级树形结构数据

最近项目中遇到了层级树形结构,数据库存放着的是节点id,以及节点的父节点,刚开始是通过递归节点id作为下一层父节点id的形式,用很多条sql来进行查询直接得出的,,但是由于随着层数以及数据的增加,而且同一层级之间涉及到菜单优先级排序的问题,递归的sql及时是组装一起进行批量查询也需要将近 2s 的时间,这对于一个查询来说无疑是很慢的。因此后面更换了一种思路,通过一次性查询出所有的节点,最后在进行拼装。...
原创
发布博客 2022.06.30 ·
727 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

java利用Calendar类和localDateTime对于时间折线图的横坐标的一个实现工具类

java日期工具类
原创
发布博客 2022.06.30 ·
431 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

算法学习之单源最短路径问题---Dijkstra的JAVA实现

Dijkstra是用于计算从一个顶点到其余各顶点的最短路径算法(构建单源点的最短路径树),解决的是有权图中最短路径问题。由于每次都会选取当前起点以及经过中间点到目标点的最短距离,而不考虑其他未知点的因素,故而是一个基于局部最优解的贪心策略。因而,每当在已经确定的集合S中加入新的顶点v,都需要重新更新起点到其他点的最短距离。Dijkstra其实和Prim(普利姆)算法极其相似,但是Prim是构造一个图中的最小生成树,类似于在一个图中找出一条连接所有顶点的最短路径,而Dijkstra是找出起点到其他顶点的最短
原创
发布博客 2022.05.14 ·
1838 阅读 ·
5 点赞 ·
0 评论 ·
17 收藏

Merkle树的生成和SPV验证信息的策略

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
原创
发布博客 2022.04.25 ·
5563 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

HashMap

HashMap实现Map接口1.7 链表+数组,数组–Entry1.8 链表+数组+红黑树,节点—Node数组:存储区间连续,占用空间多,查找快链表:查找效率低,删改快线程不安全,hashtable安全,但是效率低,因为里面都添加了synchronizedConcurrenthashmap线程安全,采用分段锁Collections.SynchronizedMap也是另一种线程安全Note:JDK1.7之前会在多线程下发生死循环,是因为JDK1.7解决冲突的链表是使用头插法的JDK1.
原创
发布博客 2022.02.23 ·
312 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java List<Character> collect = new LinkedList<>(); 和 LinkedList<Character> collect = new LinkedList 这两种方式的区别在于什么

发布动态 2021.04.21

更换idea密钥后,项目全部失效问题

今天在更换idea项目后,再打开之前的项目,全部失效,一开始以为是SDK的问题后面添加了SDK,同样没反应,项目更是连MAVEN都没识别出来,尝试按网上说的发现无效后,后面修改了项目结构添加回去内容根目录就好了...
原创
发布博客 2021.02.12 ·
680 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多