自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式--

该方式在成员位置声明singleton类型的静态变量,而对象的创建是在静态代码块中,也是对着类的加载而创建。所以和饿汉式的方式l基本上一样,当然该方式也存在内存浪费问题。

2024-03-08 22:03:34 402

原创 设计模式-软件设计原则

在软件开发中,为了提高软件系统的可鞋护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。

2024-03-07 22:16:20 868

原创 设计模式-UML图

经常刷到很多博客都有图,本人也学过软件工程相关知识,但是对于这些图的具体含义都不是很理解,准备重新深入学习一下,更好的了解设计模式的思想以后就可以通过抽象的图表来表示各类之间的关系了。

2024-03-07 11:53:03 480

原创 new和getinstance的区别

getInstance在单例模式(保证一个类仅有一个实例,并提供一个访问它的全局访问点)的类中常见,用来生成唯一的实例,getInstance往往是static的。GetInstance的使用:在主函数开始时调用,返回一个实例化对象,此对象是static的,在内存中保留着它的引用,即内存中有一块区域专门用来存放静态方法和变量,可以直接使用,调用多次返回同一个对象。getInstance() 则不一定要再次创建,它可以把一个已存在的引用给你使用,这在效能上优于new;(2)new 一定要生成一个新对象,

2023-10-30 14:18:34 392 1

原创 Leetcode买卖股票的最佳时机II

本题易知使用动态规划来解决,首先我们先找到关系表达式本题中股票有两个状态,0表示未持有,1表示持有我们可以定义一个二维数组dp[n][2]来表示利润,其中n=股票价格数组的长度接下来就是找关系表达式,易知:当天未持股票的利润等于 前一天也没持有的利润和前一天持有但是今天卖了的最大值当天持有股票的利润等于 前一天持有但是今天也没卖和前一天未持有今天买的利润的最大值最后得出dp数组后取dp[n-1][0];这里最后的股票留在手上肯定是浪费,所以我们需要找已经卖出去了的最大值。

2023-09-01 16:38:17 95 1

原创 Leetcode动态规划最长公共子序列

题目描述:思路:借鉴:最长公共子序列 - 动态规划 Longest Common Subsequence - Dynamic Programming_哔哩哔哩_bilibili代码:public int longestCommonSubsequence(String text1, String text2) { int m = text1.length(), n = text2.length(); int[][] dp = new int[m + 1

2023-08-31 10:57:40 52

原创 Leetcode用最少数量的箭引爆气球

首先理解题意,我们按照题目给的要求画一个图就能很快地想到这是重叠区间问题,然后我们前两天就发过类似的文章然后大致思路我们就有了,找重叠区间,遍历。

2023-08-31 09:58:26 56

原创 Leetcode无重叠区间

这个区间跟昨天的合并插入区间有类似的地方,我们都可以先通过排序首端点或者尾端点方便做题。

2023-08-30 21:02:46 61 1

原创 Leetcode带因子的二叉树

根据题目要求易得,每个节点都可以单独算作一个二叉树,且子节点乘积=父节点也可算作,所以我们可以先将数组排序一下,方便我们遍历查找计算。* 如果左右子节点不同,将当前元素作为根节点的二叉树数量加上左子树的数量乘以右子树的数量,并乘以2,考虑左右子树的交换情况。* 在计算完当前元素作为根节点的二叉树数量后,更新结果res,将其加上当前元素作为根节点的二叉树数量,并对结果进行取模操作。* 如果左右子节点相同,将当前元素作为根节点的二叉树数量加上左子树的数量,不需要考虑左右子树的交换情况。

2023-08-29 09:58:34 59 2

原创 Leetcode每日温度

然后我们回到单调栈,和上面那个图,我们用单调栈的时候也是当前值找栈里的元素,也是回头找,找到一个符合条件的就设置res结果集的值,然后移除元素,也需要回头,但是用单调栈之后,就不要重复遍历已经回过头找到符合条件的值的索引了~如果看到这还不能想清楚要用单调栈可以这样想,“回头找”这个词记住,然会我们回到暴力法,二次遍历的时候虽然是一直往后遍历,不算是“回头”,但是也算是“回头”,因为他需要“回头”跟当前值作比较!算法使用一个栈来存储数组索引,栈中的索引对应的温度值是递减的。或者说为什么想到可以用单调栈?

2023-08-28 15:59:22 61 1

原创 Leetcode重叠区间、合并区间、插入区间

力扣 252. 会议室难度:Easy给定一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] = [starti, endi] ,请你判断一个人是否能够参加这里面的全部会议。示例 1::输入:输出:false解释:存在重叠区间,一个人在同一时刻只能参加一个会议。示例 2::输入:输出:true解释:不存在重叠区间。

2023-08-27 17:29:38 195

原创 Leetcode爱吃香蕉的珂珂

我这边采用的是左闭右开区间,右边界size=piles.length,是取不到的,所以此时采用left

2023-08-26 10:07:59 77

原创 Sentinel流控,QPS和线程数区别?

QPS:单位时间内,请求接口次数限制。==》接口次数线程数:单位时间内,请求并发数限制。==》并发次数细品= =

2023-08-25 16:52:32 445 1

原创 Failed to configure a DataSource: ‘url‘ attribute is not specified and no em

现在已经通过本地yml成功将服务注册到nacos上了,然后准备通过nacos配置文件,就不再本地读了,然后加载nacos文件失败了,报错Failed to configure a DataSource: 'url' attribute is not specified and no em这个报错倒不重要,主要他是加载不到文件内的配置,所以报了其中之一的错。

2023-08-24 11:07:01 440 1

原创 Spring Cloud负载均衡,报错:No instances available for localhost

然后还有一个思路要明白,开启服务发现和负载均衡后,调用别的服务都是从服务中心,我这里是nacos中间去取相应的服务,就不再是简单的直接调用了,如果调用出错,你要想两个点,是调用出错还是原本的被调用的服务写错了。虽然问题不难,都是马虎没注意和框架的应用不熟练导致的,但是从犯下错误到解决错误的这个过程给我们带来的收获是肯定的,多试错,从中学习,吸取教训!我这里经过测试被调原服务的访问是没有问题的,所以我这边只需要将问题出错点归于调用方,然后一步步调错就能找到出错点了。

2023-08-24 08:49:08 221 1

原创 Leetcode移动片段得到字符串

去除下划线后比较两个字符串是否相等,不相等返回false,因为根据题意我们可以知道字符移动不能交换L R的位置,只能交换 _ 的位置,所以在去除下划线后如果字符不相等,即fasle。=》不管,此时=L和i<j分别为条件1,2。=j,且(字符i为L,且此时i《j)返回false 应该i>=j才true。* 条件1变 条件2不变, 此时i为R,且i<j 为true 不管 这里也逻辑等价上面那个。* 如果当前字符为 R 且 i>j,由于 R 由于无法向左移动,返回 false。//保证好看懂可以写以下。

2023-08-21 09:54:22 51 1

原创 Leetcode最大层内元素和

在队列非空情况下循环遍历每一层节点时,需要定义size变量存储当前层级的节点个数,不能直接用queue.size(),因为在利用队列特性的时候,我们是在循环中间进行了入队操作,会导致队列的大小动态变化,导致每次并不是遍历的每一层,而是多层,导致不能实现我们想要的效果,需要注意。// 但是在循环过程中,队列的大小是会动态变化的,因此不能使用固定的大小。// 在内层循环中,使用 queue.size() 作为循环的终止条件,

2023-08-20 10:05:43 32 1

原创 Leetcode二叉树中的最长交错路径

采用深度优先遍历的方式,我们可以从顶向下访问到所有节点。并且遍历下一个子节点时,我们也能够知道子节点是属于父节点的左子树,还是右子树。所以我们可以为每个节点缓存两个值,一个l表示到达当前节点时,该节点为左子树时的路径数,一个r表示该节点为右子树时的到达路径。当然,一个节点要么是左子树,要么是右子树,所以l和r其中只有一个有值。那么在遍历该节点的子节点时,如果子节点是左子树,那么它的l值就是父节点的r值加1. 如果是右子树,就是父节点的l值加1.

2023-08-19 11:45:59 64

原创 Leetcode 路径总和3

dfs解决这个问题的思路应该好出来,深度遍历每个节点的左右子树,判断是否含有符合条件的值,然后在总的变量中+1,但是注意一个点,需要判断该单独的节点是否符合,如果符合也需要+1。总体思路就是,每深度一个节点,判断该节点的总和-target的值在Map中是否有,有则基础上+1,且最终返回值res+1,否之Map赋值当前sum,1;==》因为当前根节点也需要判断,为了不改代码逻辑,可以添加一个初始值,方便根节点相加后的判断。按道理来说,两个子节点之间是不能相互影响的,所以在最后需要将当前节点的值加玩后-1。

2023-08-19 10:43:22 51

原创 spring自动化创建数据库的数据需要注意的点

今天开始做cloud小项目,然后想自动化创建数据库及其插入数据翻了几个小错误1.子项目导入父依赖版本报错unkonow2.数据库连接不上2.连上但不能创表、插入数据。

2023-08-18 15:53:42 75 1

原创 SpringCloud入门

spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,另外对于“微服务架构” 不了解的话,可以通过搜索引擎搜索“微服务架构”了解下。

2023-08-17 21:24:45 30 1

原创 Redis报错OOM command not allowed when used memory > ‘maxmemory‘. 如何解决

4.并修改redis存储策略(内存超限后就不在存储),maxmemory-policy volatile-lru。问题场景:redis查数据可以,但是命令,客户端,idea连接都不能存数据,会报错~3.搜索 maxmemory 并将其改为 maxmemory 2gb。2.查找redis.windows-service.conf文件。5.保存以后,并在服务管理中重启redis即可。1.打开安装redis的目录。

2023-08-17 18:46:17 2434 2

空空如也

空空如也

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

TA关注的人

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