自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【python线程报错日常】

传参的方式需要注意,必须使用args。同时注意,传入的格式必须是一个元组,所以逗号是必须有的(就是client后面的逗号),不然还会出现问题。现在有如下的一个需求,在主程序运行逻辑不变的情况下,起一个线程,该线程等间隔时间执行一个业务逻辑。Threading模块是Python的一个并发模块,可以用它来进行一个多线程的开发。但是发现了线程阻塞,即只执行了第一个子线程,没用执行后面的线程。

2023-07-05 10:27:52 197

原创 Application Server was not connected Unable to ping server at localhost:1099

idea运行tomcat报错:Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:1099

2022-08-14 11:01:18 4511 1

原创 STM32中的结构体

对于要传入结构体的函数:到底是定义一个结构体指针,然后将该结构体指针传进去;还是定义一个结构体,将该结构体的引用传进去?第一种方法大错特错,在串口通信中得到了惨痛的教训。谨记...

2022-03-19 15:51:20 630 1

原创 (Manacher算法)最长回文子串

题目描述:一.中心扩展法考虑到回文串是沿中心轴对称的,所以沿轴向两端扩展。但是有个小问题,当回文数为偶数时,没有轴,所以要分奇偶扩展两次,效率低下。分奇偶扩展:class Solution { public String longestPalindrome(String s) { int len = s.length(); if(len<1) { return s; } int start=0,e...

2021-10-09 18:28:22 143

原创 滑动窗口求解无重复字符的最长子串

什么是滑动窗口?操作形式上类似于队列,举个例子:abcabcbb,当abc进入窗口(队列),无重复满足题目要求,当再进入a时,出现重复,滑动窗口将abc移出,此时剩下a;重复上述操作。图片描述:如何来实现它?操作类似队列,但用队列较难实现,因为需要在队列中找到相同元素并把该元素之前的元素全部移出。所以我们采用指针模拟滑动操作,并且为了防止开辟的空间达到O(N),我们采用相同元素覆盖法。解决覆盖问题HashMap是个不错的选择。完整代码:class Solution {.

2021-10-09 14:37:11 186

原创 图解KMP算法(研究总结next(数组)算法实现)

记录,防止忘记!!!一 从现象入手Kmp算法 原始匹配方法: Kmp匹配算法(从三张图了解)总结发现:当pattern中第 j 处位置(j > 0)配不上时,让pattern中第m号元素与主串当前位置比较,m = pattern串中 j-1的next(即next[j - 1])+ 1.前缀:至少不含最后一个元素后缀:至少不含第一个元素于是有个大胆的想法:将上述图中这些蓝色字体封装成一个next数组(也叫match数组)...

2021-09-28 14:30:47 865

原创 (初识动态规划)一套搞定!0-1背包问题,允许多次放背包问题,及背包问题回溯(找出放入背包的物品)

1. 什么是动态规划:2.我们从斐波那契数列进入探索:思路一:自顶向下(从n开始)的思路(即查表递归):1.子问题的解被保存在表中2.首次计算通过递归(表中无值)3.表中有值直接返回import java.util.Scanner;public class Fibonacci { static int result[] = new int[1000]; public int dp(int n) { if(n == 0) { return 1;...

2021-09-26 15:09:11 494

原创 (Java版)Kruskal算法-----将森林合并成树

大致原理实现如下: 把所有的边放在一个集合里,每次都贪心的取出最短的边(权重最小),直到取出的边数为顶点数减一。当然取的时候有条件限制:每次取出来的边不能和之前取出来的边形成回路(这个可以使用并查集来实现)。并查集(具体解析查看(Java版)并查集的实现_南柏良客的博客-CSDN博客),判断V和W是否属于同一颗集合树,如果是加上必然构成回路。最小堆的实现:只需要在最大堆(最大堆的实现)的基础上稍加改动,改动精髓点在于向下过滤节点的步骤:必须要把每一个自定义节点的每一个属性都向下过滤(正确..

2021-09-25 09:05:05 350

原创 (Java版)并查集的实现

定义如下的结构:(简称双亲表示法),每一个节点都记录着本节点数据和它的parent。这里有个小小的问题:那就是每一次合并两颗集合树大集合都必然造成树变大变深。原缺陷代码如下:优化后的代码:其实我们完全可以用根节点的parent来记录它的儿子个数,把负一改为-a,a代表子节点的个数。每次添加都把小集合树加到大集合树的根结点下面。这样问题得到解决完整代码实现如下 :public class Assemble { public char data; public...

2021-09-25 08:05:31 117

原创 (Java版)最大堆的实现(采用数组)

堆的相关性质:1.堆的类型:以数组实现的完全二叉树2.特点:每个节点的元素值不小于其子节点的元素值,所以删除最大值只需要删除根节点。可以用数组实现堆的精髓点在于:每个子节点的下标 i除 2 得到父节点的下标(这是完全二叉树所具备的)int i = ++H.size; //i指向插入元素后堆中最后一个元素的位置 //为向下过滤节点,只要插入的数据小于父节点,便把它到根结点的所有节点后移 for( ; H.data[i/2]<ite...

2021-09-24 19:28:47 376

原创 (Java版)邻接表实现单源最短路径查询

基本原理:层序遍历(队列实现)+堆栈1.求源点到某个点的最短路径时:一层一层考虑,将源点入队,出队时将与它连接的节点中标记数visit[i]为-1的节点入队,并且每次入队的同时都要更改visit[当前]=visit[上一个节点]+权重;2.关于解决保存途径点的问题,引入path[]数组和堆栈类型的数组stack[i],每一个边节点都对应一个path[i],每个顶点节点都对应一个stack[i],path[i]里面存放着它(节点i)的上一个节点,当需要输出时,将path依次放入堆栈中再输出。3.以

2021-09-21 10:20:45 569

原创 (java版)用邻接表实现无向图的创建

出现的问题:1.关于内部类的使用,使邻接表的结构定义更加清晰,不分散。在同一个类中实例化内部类和普通类的实例化相同,但在其他类中应用,实例化时需要加上外部实例化对象。例:OutClassout=newOutClass();OutClass.InnerClassinner=out.newInnerClass();2.关于自定义类数组的使用:Vertex[] vertexNode; //声明要创建的对象数组vertexNode = new Ver...

2021-09-19 11:34:00 1002

空空如也

空空如也

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

TA关注的人

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