自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 maven的scop作用域依赖问题导致idea社区版报错

所以,对于你提到的这个例子,在专业版中强制去掉 provided 作用域是不必要的,而在社区版中可能需要去掉 provided 作用域,以便将相应的依赖包含在构建结果中。问题应该是tomcat的依赖出现问题了,参考了教程的第五种解决方案,没能解决我的问题,猜测应该是这个作用域的问题,把原pom文件中的scop直接删了,问题解决。对于这个错误,查阅了网上的教程反馈为:1.启动类的位置不对,2.配置文件是否存在且位置是否对,以及内容是否有错误。虽然教程没解决我的问题,但是给了我思路。

2024-01-08 17:02:14 633

原创 简单介绍抽象类

抽象类

2023-02-13 11:38:18 167

原创 @Component、@Bean、@Configuration的联系

@Configuration、@Bean、@Component的联系

2023-02-06 16:53:33 202

原创 @Autowried注入为空,导致redisUtil为null空指针问题。

@Autowried注入为空,导致redisUtil为null空指针问题。

2023-02-06 16:31:38 764

原创 @Resource和@Autowired的区别

@Resource和@Autowired的区别

2023-02-06 16:30:23 419

原创 idea中配置Alitomacat启动,出现错误

错误现象:Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/C:/work/taob解决方案:1.找到不可处理的jar路径,将其文件夹删除2.仅仅操作第一步,重新启动tomcat还是出现上述的错误,代码启动又会将上面的文件夹涉及到的jar包重新下载回来。需要添加如下依赖(1.8版本的java无法处理高版本的额log4j,所以改用2.8):org.apache.loggi

2021-05-18 16:03:26 792

原创 IDEA创建多个springboot项目工程

1.新建一个空工程demo,不添加任何依项。2.选中demo工程,new一个module,名为demo1,添加依赖项等,创建成功。3.同第二步,new一个module,名为demo2,创建成功。4.创建成功后如图

2021-02-22 11:20:34 466

原创 Failed to read artifact descriptor for org.springframework.boot:spring-boot--:jar***解决方法

问题描述:解决方案:1.file-》setting找到maven仓库位置2.到本地的maven仓库删除这两个jar包,删除下图两个包3.右键选中pom,xml文件,更新一下maven便可以了。

2020-12-17 17:57:46 1828

原创 二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。解题思路:第一步交换根节点的左右子树,之后交换左右子树自己的左右子树,这样的操作除了操作对象不同,但是操作步骤是一样,可以采用递归来做,我们用递归方式来递归交换各个左右子树。//C++class Solution {public: void Mirror(TreeNode *pRoot) { if(pRoot){ struct TreeNode* tmp =pRoot->left;

2020-12-10 17:14:35 59

原创 合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。//C++ 递归class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListNode* cur= NULL; if(pHead1==NULL) return pHead2; if(pHead2==NULL)

2020-12-09 19:55:20 74

原创 反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头。解体思路:对链表设置两个指针,依次将旧链表上每一项添加到新链表的后面,然后将新链表的头指针P移向新的链表头。同时,应该设置一个临时指针tmp,先暂时指向pHead->next指向的地址空间,保存原链表后续数据。总体的步骤1.保存原链表数据;2.让pHead->next指向新链表P,即原链表的下一节点指向新链表;3.新链表的头指针P移向PHead新的链表头,新链表的头移动到pHead;4.最后pHead=tmp就可以取回原链表的数

2020-12-09 16:23:56 71

原创 链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。解题思路:双指针法, 第一个指针PList1先向前走K步,然后PList1和PList2一起走,此时两个指针差别K步,那么当PList1走到链表尾部(NULL)的时候,PList2指向的就是倒数第K个节点。//C++class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { struct ListNode *P

2020-12-09 10:49:59 58

原创 数值的整数次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0。//C++class Solution {public: double Power(double base, int exponent) { double result=0; if(base==0) return 0; else r

2020-12-08 11:13:06 48

原创 二进制中1的个数

题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。理论1:一个数与该数减一的结果进行与运算n&(n-1),会把该数右边(低位)第一个1变为0,而该位左边保持不变(高位)。每进行一次的与运算就消去一个1,消到最后为0,消除多少次就代表有多少个1.理论2:用1与n的每一位相与,所得结果为1则该数位是1,每一次与运算完成后将n右移1位。// c++ class Solution {public: int NumberOf1(int n) {

2020-12-07 16:19:42 87

原创 矩形覆盖

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解决思路:当第一块矩形为竖放,剩下的矩形有f(n-1)种;当第一块为横放,那么便需要一块放在第一块位置的下方,剩下f(n-2)种方式,可得f(n)=f(n-1)+f(n-2)。//分而治之,重复计算,耗时较长//C++ class Solution {public: int rectCover(int number) { if(number&l

2020-12-07 15:22:41 195

原创 变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。class Solution {public: int Fibonacci(int n) { if(n==0||n==1) return n; else return (Fibonacci(n-1)+Fibonacci(n-2)); }};publi

2020-12-07 10:38:30 55

原创 斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n\leq 39n≤39处理思路:F(0)=0,F(1)=1,F(n)=F(n - 1)+F(n - 2)采用递归思想,//javapublic class Solution { public int Fibonacci(int n) { if(n==0||n==1) return n; else

2020-12-04 16:39:24 62

原创 旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。处理思路:保持最小的元素始终在第一个元素位置将第一个元素与第二个元素相比,最小的元素放在第一个位置;接着继续将第一个位置上的元素与第三的相比,最小的放在第一位置,一此类推。class Solution {public: int minNumberInRotateArray(vector<

2020-12-04 16:16:58 56

原创 用两个栈实现队列

题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。处理思路:入队,将入队元素直接压入stack1。出队,先判断stack2是否为空,如不为空,直接弹出s2的顶元素并出队;如为空,将stack1的元素逐个“倒入”stack2,stack2作为输出栈,将stack2倒回stack1便是出队。//C++class Solution{public: void push(int node) { stack1.push(node);

2020-12-03 17:22:46 100

原创 递归算法

递归算法,其实就是本身调用本身的方法,直到满足终止条件,才结束任务。//递归算法 解决阶乘的问题public static long f(int n){ if(n == 1) // 递归终止条件 return 1; return n*f(n-1); // 递归,重复调用本身//斐波纳契数列 f(n)=f(n-1)+f(n-2); public static int fibonacci(int n) { if (n

2020-12-03 15:48:54 60

原创 从尾到头打印链表

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。采用递归算法处理,递归在本质上就是一个栈结构。要实现反过来输出链表,每访问到一个结点的时候,先递归输出它后面的结点,再输出该结点自身,这样链表的输出结构就反过来了。处理:1.只要当前节点不为NULL,也就是链表没到头,就一直递归2.在递归结束时,将元素压入C++class Solution{public: vector<int> res; vector<int> printListFrom

2020-12-03 15:25:14 49

原创 替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:对输入的字符串逐个字符判断是否为空格,是就将%20写入新的字符串内,否则将该字符写入新的字符串,循环一遍就可以得到一个符合规则的字符串;最后将这个新的字符串复制回到原输入字符串,至此完成了替换空格的目标。class Solution {public: void replaceSpace(char *str,int length)

2020-11-27 16:04:51 149

原创 二维数组的查找

二维数组的查找题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:选中第一行的末尾的值作为起始点。从第一行末尾开始与值进行相比,大于匹配值往左,小于匹配值往下。 由于i++ 对于i要有限制,j–对于j要有限制static const auto io_sync_off=[](){ ios_base::sync_with_stdio(f

2020-11-22 15:52:03 48

原创 tomcat安装教程

1.软件下载连接 https://tomcat.apache.org/download-70.cgi2.确保java jdk安装好并且配置了系统环境。3.直接解压,双击bin文件中的startup.dat文件,(最好可以配置一下系统环境变量)弹出一个启动tomcat的窗口,如下。显示了默认http接口以及启动时长。接着在浏览器中输入http://localhost:8080,可以得到如下界面,表明安装成功。4.可以在conf文件夹中的server.xml文件中修改http协议的连接端口,要记得

2020-07-25 17:11:31 84

原创 windows10 下maven3.6.3安装教程

1.maven下载链接http://maven.apache.org/download.cgi 选择下图的文件压缩包下载2.条件:java jdk已经安装好了,java7及以上3.将apache-maven-3.6.3-bin解压,可以放在任何位置,我选择的路径是C盘,路径如下C:\apache-maven-3.6.3-bin。4.配置系统环境变量在系统环境变量path中,添加C:\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin和%MAV.

2020-07-25 14:53:13 750

原创 把数组排成最小的数。

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。利用字符串a,b;a+b<b+a,来确定他们的顺序。sort函数的里面的那个cmp是表示sort函数的排序规则(a+b<b+a),cmp子函数一定要静态成员函数才可以。class Solution ...

2019-09-11 22:59:15 77

原创 不用加减乘除做加法。

并行的操作:num1与num2异或相当于没有进位的加法,赋值给num1;num1(原来的)与num2按位与,再左移1位便是获得进位,赋值给num2。接着继续重复操作,知道num2的值为0,表示不用再进位了,加法过程结束。class Solution {public: int Add(int num1, int num2) { return num2? Add((...

2019-09-11 22:26:47 69

原创 数据流的中位数

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。1.方法一,利用sort排序,然后便可以非常简单地得到中位数。2.方法二,利用小顶堆,大顶堆的思想。小顶锥放大的数...

2019-09-05 22:42:48 113

原创 数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路:出现超过一半的数字,在这个数组中一定会出现连续的现象。采用摩尔投票算法。遍历元素,采用count计算出现的次数,当count=0时,说明在前面这段数字中,这个元素不可能是大于数组长...

2019-09-03 22:35:28 146

原创 求1+2+3+...n

t题目:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。利用&&的短路原则(0&&某,某不会被执行),来解决递归中止的条件。当n>0,递归处理中;当n=0,短路,递归中止。故而,在n一步一步往0递去时,直到n=0时,递归中止。sum在归来时获得所有的值的累加。c...

2019-09-03 22:02:13 113

原创 连续子数组的最大和

思路:从首位置遍历去累加,若是累加的和小于0,否则继续加;同时要不断跟新累加之和的最大值。class Solution {public: int FindGreatestSumOfSubArray(vector<int> array) { int length =array.size(); int sum=0; int max...

2019-09-03 21:07:13 75

原创 合并两个排序的链表

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。原则:链表1的值小,再抽1的下一个节点,直到大于链表2的值,再抽链表2 的下一节点的值。思路:利用递归的方法,去遍历寻找判断,新建一个新的链表存值。class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHea...

2019-09-02 22:14:46 63

原创 翻转链表

输入一个链表,反转链表后,输出新链表的表头。思路:将链表的值挨个压紧入栈里面,然后在新建一个链表,链表的头指向这个栈的栈顶,然后将栈的数据弹出来传入新的链表里面,便可以得到一条新的反转链表。答案要求是得到一个新的链表,而不是仅仅输出一个表头。class Solution {public: ListNode* ReverseList(ListNode* pHead) { ...

2019-09-02 21:44:01 77

原创 链表中倒数第K个节点

输入一个链表,输出该链表中倒数第k个结点。方法一:先算出节点个数count,然后遍历到count-k,便是倒数第k个。class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { ListNode* data=pListHead; ...

2019-09-02 13:20:08 60

原创 调整数组顺序使奇数位位于偶数位前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。方法一:建立一个新的数组,先边里一遍存放奇数,再遍历一遍存放偶数,然后再将这个数组传回去给array。方法二:建立一个队列,从后往前遍历,寻找到奇数往最前面插入;从前往后遍历,寻找到偶数,在最后面插入。然后利用数组的assign...

2019-09-01 19:32:29 75

原创 数值的整数次方

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0利用pow()函数就可以了。class Solution {public:double Power(double base, int exponent) { long double sum=1; if(base==0) ...

2019-09-01 17:20:49 57

原创 二进制中1的个数

class Solution {public:int NumberOf1(int n) {int count=0;while(n!=0){n=n&(n-1);count++;}return count;}};/整数不为0时,最右边一位减掉0,该数的最右边若为1,只影响该位,否影响到最右位的左边,直到有1的位数,将减1之后的数与原整数按位与,会得到一个数:比原整数少...

2019-09-01 12:50:17 68

原创 一个简单的递归函数解决从尾到头输出

/********输入值要大于4/#include #include #include<windows.h>using namespace std;vector res;int Leo(int n){if (0 == n)//递归终止条件{ return 1;}else{ cout << n << "ss\n"; Leo(n - 1...

2019-09-01 11:00:08 279

原创 跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路:n级台阶,青蛙可以使在n-1级跳一步到n级,也可以是n-2级跳2级到n级。故而可以是f(n)=f(n-1)+f(n-2)。class Solution {public:int jumpFloor(int number) {if(number<3)retur...

2019-08-27 23:24:56 64

原创 数组中第一个不重复的元素

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。解题思路:通过获取字符流的字符,每次从字符流中获取一个字符,插入S字符串里面。然后采用数组记录该字符,由于字符的ascall码对应范围在256,所以数组创建256个元素。哪个字符出现,数...

2019-08-22 23:52:15 421

空空如也

空空如也

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

TA关注的人

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