自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(66)
  • 收藏
  • 关注

原创 谷粒商城pom文件报错Unresolved plugin: org.codehaus.mojo:wagon-maven-plugin:1.0

当一个依赖在plugin中报错时,把它先以dependency的形式从maven search中查找出来并加入dependencies中,等加载好之后plugin就不报错了。

2024-04-06 18:06:44 509

原创 Java 第23章 反射 本章作业

【代码】Java 第23章 反射 本章作业。

2024-01-03 19:51:11 489

原创 Java 第19章 IO流 课堂练习+本章作业

【代码】Java 第19章 IO流 课堂练习+本章作业。

2024-01-02 20:31:51 660

原创 Java 第17章 多线程基础 课堂练习+本章作业

创建Card类实现Runnable 接口,为的是将来把Card类的对象传给两个Thread对象让它们共享这个Card对象,通过synchronized对Card类的锁来实现互斥。假设被叫停的类为A,叫停A的类为B。关键是要将A的对象作为B的内部成员,这样方便B对A的循环机制进行修改。在i == 5时开启创建的另一进程,并使用join使得其先执行完毕。

2023-12-27 20:58:25 503

原创 Java 第16章 事件处理机制&控制小球

KeyListener需要重写方法,光标在KeyListener处alt+enter即可出现提示重写的快捷选项。其中,keyTyped为有字符输出时触发,keyPressed为当某个键按下时触发,keyReleased为当某个键释放时触发。将小球的位置定义为变量,从而便于修改其位置。最后,在 框架的构造器 中添加 监听面板的键盘事件 的功能:this.addKeyListener(mypanel);定义MyPanel,继承JPanel的同时实现KeyListener。控制时需要切换到英文状态。

2023-12-24 16:39:53 463

原创 Java 第16章 坦克大战1-2 思路整理

不同坦克有共同属性,可以先提取共同特征(坐标位置)作为父类,然后其他坦克从中继承。有坦克在画板上显示,所以包含不同的坦克子类,并在构造器初始化时创建该具体对象。有画板在画框中,所以包含Panel对象,并在构造器初始化时创建该具体对象。

2023-12-24 16:30:28 500

原创 Java 第15章 泛型 课堂练习+本章作业

对birthday的比较,最好是放到MyDate类中,这样比较两个日期大小就可以直接调用MyDate类中重写的compareTo方法即可。没错,但要能分析出来,由于<T, R, M>没有被确定所以都是Object类型;JUnit是一个Java语言的单元测试框架,多数Java的开发环境都已经集成了JUnit作为单元测试的工具。没错,因为 T=Object “yy”=String 是Object子类。不难,注意JUnit中Test在测试中的使用。

2023-12-22 14:52:41 415

原创 Java 第14章 集合 本章作业

(2) TreeSet的去重机制:如果传入了一个Comparator匿名对象,就使用实现的compare去重,如果方法返回0,就认为是相同的元素/数据,就不添加,如果你没有传入一个Comparator匿名对象,则以你添加的对象实现的Compareable接口的compareTo去重.虽然(1001, “AA”)与p1改名之前的哈希值相同,即加入的位置相同,但由于p1此时名为"CC",不会触发equals判断两者相同,所以(1001, “AA”)成功加入p1末尾,

2023-12-21 20:55:00 434

原创 Java 第14章 集合 课堂练习

【ps:在课堂上,老师为了让同一个类的对象聚集到hashset中的同一个key下,重写同一个类的hashcode使之返回相同的值。因为hashset 的底层源码决定,如果equals能够度量并确定两个对象相同(String可以使用equals直接判断两个串是否相同),所以检测到两个String对象相同时无法重复加入hashset。因为按照长度大小进行比较,根据底层源码,两个String由于长度相同,加上匿名类中重写的比较方法以长度作为唯一度量标准,所以长度相同的就被认为是相同对象而不能加入treeset。

2023-12-21 19:04:30 475

原创 Java 第13章 常用类 本章作业

当不符合要求时,throw new RuntimeException(message) 可以创建信息不同的运行异常,只要在catch处接住即可,不用非要自己去创建什么异常类……用空格分割String:String[] names = str.split(" ")String.format()可以格式化输出内容。配合异常进行更加完善的代码编写。结果:f f t f f t。

2023-12-20 14:39:29 411

原创 Java 第13章 常用类 课堂练习

如果这样的操作放到循环中,会极大影响程序的性能。当调用intern方法时,如果池已经包含一个等于此 String 对象的字符串(用equals(Object)方法确定),则返回池中的字符串。)创建对象,i == j中的 == 是判断是否是同一个对象,很明显不是,b指向堆中对象(value),由value在指向堆中的对象,两者指向不一样,所以 a == b 是false。已知a为常量池的地址,b为堆中的地址,故a == b.intern()为true,b == b.intern()为false。

2023-12-18 21:41:24 944

原创 Java 第12章 异常 本章作业

缺少命令行参数 ArrayIndexOutOfBoundsException。throws表明本方法不负责处理,去找调用本方法的对象进行处理(踢皮球);除0异常处理 ArithmeticException。数据格式不正确 NumberformatException。throw用于手动生成异常对象。

2023-12-17 12:46:46 450

原创 Java 第12章 异常课堂练习

进入方法A”之后,会将抛出的异常给到main中的catch,但首先还要执行“用A方法的finally”进入方法A用A方法的finally制造异常进入方法B调用B方法的finally。

2023-12-17 10:19:30 364

原创 Java 第10、11章 面向对象高级 本章作业

3. 交通工具工厂类:由于在任务中,可以将方法定义为,这样就不用先创建工厂类的对象,直接“类名.方法” 即可。为了不让其创建对象,可以将其构造器私有化。5.一般情况下用Horse作为交通工具,遇到大河时用Boat作为交通工具:编程思路——可以由于在创建“唐僧”的时候要给他一个交通工具,所以在后来赋值目标交通工具的时候,需要,可以使用instanceof对当前交通工具进行判断,如果不是目标交通工具,再进行申请。

2023-12-16 19:47:06 385

原创 糖糖别胡说,我真的不是签到题目

链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述从前,有nnn只萌萌的糖糖,他们分成了两组一起玩游戏。他们会排成一排,第iii只糖糖会随机得到一个能力值bib_ibi​。从第iii秒的时候,第iii只糖糖就可以消灭掉所有排在他前面的和他不是同一组的且能力值小于他的糖糖。为了使游戏更加有趣,糖糖的爸爸,娇姐,会发功mmm次,第iii次发功的时间为cic_i ci​,则在第cic_ici​秒结束后,b1,b2,.....,bcib_1,b_2,....

2023-12-16 16:07:45 423

原创 Java 第9章 房屋出租系统

单独建包:由于在实际开发过程中,可能会出现管理多个界面的情况,所以界面需要单独建包,其他同理。,包括了界面层、业务层和数据层。开发任务:从界面层深入到业务层。

2023-12-16 16:01:13 386

原创 Java 第8章 本章作业

多态:方法或对象具有多种形态,是O0P的第三大特征,是建立在封装和多态具体体现1.方法多态(1)重载体现多态(2)重写体现多态2.对象多态(1)对象的编译类型和运行类型可以不一致,编译类型在定义时,就确定,不能变化(2)对象的运行类型是可以变化的,可以通过getClasss()来查看运行类型(2)编译类型看定时时=号的左边,运行类型看=号右边3.举例说明编译类型一开始就确定了,但运行类型可以多次改变。

2023-12-11 19:15:10 420

原创 中序线索二叉树的建立与遍历(from: 王道考研)

【代码】中序线索二叉树的建立与遍历(from: 王道考研)

2023-08-16 22:10:03 120

原创 动态规划:线性dp、背包问题、区间4

三个串的最长公共子序列给3个串,求其最长公共子序列,输出方案。|S|<=300。令f[i][j][k]为第1个串的前i个字符与第2个串的前j个字符与第3个串的前k个字符的最长公共子序列长度。若a[i]==b[i]==c[i],则f[i][j][k]=f[i-1][j-1][k-1]+1,否则三个字符中一定有一个是没用的,即 f[i-1][j][k]、f[i][j-1][k]、f[i][j][k-1]三个值中取一个最大的。输出方案怎么办?可以直接将最长公共子序列存下来。若a[i]==b[.

2022-04-13 15:17:13 308

原创 蓝桥杯【第十一届】【省赛】【B组】

平面切分​​​​​​“蓝桥杯”练习系统每增加一条直线,若与其他直线不产生交点,会产生另外一个平面;若产生交点,多贡献的平面个数由产生交点的个数确定。

2022-04-07 16:07:17 475

原创 蓝桥杯【第十二届】【省赛】【B组】

杨辉三角形​​​​​​“蓝桥杯”练习系统需要加强组合数学的知识点。本题思路:观察到对于杨辉三角的左半边斜行,第i个斜行的第一个数有C(2*i,i)的规律,斜行中的第j个数有C(j,i)的规律。同时程序计算得到,C(34,17)>1e9,也就是说有17行斜行能够满足题目要求。可以先从大到小枚举斜行(因为要求的数是最先出来的,而斜行中的第一个数又对应每一行中最大的数),再二分查找每一个斜行中满足要求的数即可。细节问题:1、不是单纯的加、减、乘或除运算,不要使用<符号+=>!(r

2022-04-06 19:30:34 903

原创 动态规划:线性dp、背包问题、区间3

区间DP2955 -- Brackets给定一个由字符 a1a2 ... an 组成的括号序列,你的目标是找到最长的正则括号序列的长度,它是 s 的子序列。也就是说,您希望找到最大的 m,使得对于索引 i1、i2、...、im,其中 1 ≤ i1 < i2 < ... < im ≤ n,ai1ai2 ... aim 是常规括号序列。接下来就是强行把自己讲懂的……QAQ子状态:我们想,既然最后要求的是从0到len-1的区间中有多少个括号被匹配,那这个答案是怎么推过来的

2022-03-24 14:40:11 1160

原创 动态规划:线性dp、背包问题、区间2

链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0,y1,…,yk-1”是X的子序列,存在X的一个严格递增下标序列 < i0,i1,…,ik-1 > ,使得对所有的j=0,1,…,k-1,有xij = yj。例如,X=“ABCBDAB”,Y=“BCDB”是X的一个子序列。对给定的两个字符序列,求..

2022-03-20 09:07:29 1241

原创 动态规划:线性dp、背包问题、区间1

记忆化搜索将之后可以重复用到的子问题的答案进行记录。典例:斐波那契数列、走楼梯、走蜂窝。斐波那契改进:走楼梯,第i阶台阶不能走。直接强行让第i级台阶方案数等于0即可。推广:从起点到终点的最短路径方案数,可以通过广搜标记计算每一个点到达的方案数。1163 -- The Triangle图 1 显示了一个数字三角形。编写一个程序,计算从顶部开始到底部某处结束的路线上通过的最大数字总和。每一步都可以对角线向左或向右对角线向下。从上往下写比较容易想,但从下往上写可以直接在顶点取到答案

2022-03-18 22:07:07 385

原创 搜索与搜索剪枝5

链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网[SCOI2010]游戏lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装备所使用的属性值必须从1开始连续递增地攻击,才能对boss产生伤害。也就是说一开始的时候,lxhgww只能使用某个属性值为..

2022-03-17 21:38:10 3398

原创 搜索与搜索剪枝4

亿点思考地对于上一节的八数码问题,我们有了以下认知:实际上,广搜相当于可以记录从一个状态扩展到另一个状态的情况,很像数学上向量空间的概念。搜索剪枝核心:减少搜索树的大小改变搜索顺序:如可以让起点与终点双向奔赴;最优化剪枝:如当已经找到一个较优解的前提下,找到了一个比较优解更差的结果,那肯定在判断是较差解之后立刻终止寻找;可行性剪枝:虽然还没到达终点,但已经知道终点已经去不了了,即提前做预判。例1N*M的迷宫中给定起点s和终点d,问是否能在t时刻恰好到达终点d。

2022-03-16 09:28:24 324

原创 搜索与搜索剪枝3

链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网八数码You will receive a description of a configuration of the 8 puzzle. The description is just a list of the tiles in their initial positions, with the rows listed from top to bottom, and the tiles listed from left to righ.

2022-03-12 15:51:40 2866

原创 搜索与搜索剪枝2

广搜给定一个迷宫,求(0,0)到终点(6,5)的最短距离。细节问题:可以通过将(x,y)处理为x*tmp+y的形式进行降维打击,这样更好向queue里存数据;另外,计算步数当然是根据前一步的步数算啦!QAQ/*6 51 1 0 1 11 0 1 1 11 0 1 0 01 0 1 1 11 1 1 0 11 1 1 1 1*/#include<iostream>#include<cstdio>#include<cstring>#i

2022-03-11 20:26:58 990

原创 搜索与搜索剪枝1

深搜力扣-N皇后n皇后问题 研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的n皇后问题 的解决方案。每一种解法包含一个不同的n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。题目的关键在于如何判断是否可以放,即vis的标志该如何选定?毕竟标记矩阵实在是太麻烦了。行和列很好解决,关键在于对角线的标记。可以发现以下规律:主对角线元素之差为确定元素,而副对角线元素之和为确定元素。考虑到...

2022-03-10 22:03:50 102

原创 优先队列、并查集2

Task有n个机器,m个任务。每个机器至多能完成一个任务。对于每个机器,有一个最大运行时间xi和等级yi,对于每个任务,也有一个运行时间xj和等级yj。只有当xi>=xj且yi>=yj的时候,机器i才能完成任务j,并获得500*xj+2*yj金钱。问最多能完成几个任务,当出现多种情况时,输出获得金钱最多的情况。xi<=1440,yi<=1001<=N<=100000,1<=M<=100000我们按x为第一关键字、y为第二关键字从大到小为机器.

2022-03-10 18:44:55 3301

原创 优先队列、并查集1

优先队列又名二叉堆,分为最大堆和最小堆。插入元素后,队列中自动按照从小到大/从大到小排列,删除元素只能删除队首元素(最大/最小值)。C++中STL提供容器:priority_queue,其默认形式是最大堆,即从大到小排。链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网[NOIP2004]合并果子因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体

2022-03-09 14:58:45 1008

原创 堆栈、队列、单调栈、单调队列

例1有n个人,按照1,2,3……的顺序依次进栈,判断能否以题目所给顺序出栈。随进随判断能不能弹出。#include<iostream>#include<cstdio>#include<stack>using namespace std;int n,a[maxn];stack<int>st;int main(){ cin>>n; for(int i=1;i<=n;++i) cin>>a[i]; .

2022-03-06 17:26:29 631

原创 二分、三分、01规划3

三分比如求一段连续凸曲线的最大值,第一反应可能是求导。但其实可以用三分的方法去解。-----left-----mid1-----mid2-----right----- 请将左侧例子自动想成一段连续凸曲线上的5段,段与段之间相隔的为我们设的点。若mid1的值大于mid2的值,则说明波峰不可能出现在right的右侧,此时舍去这一段。另外,如果连续可导也可以先求导再通过二分寻找答案。二分、三分中的精度问题有的题目要求我们使用double求解答案,一般我们会将结束循环的条件设置为一个很小的数,但这种

2022-03-05 21:00:17 210

原创 二分、三分、01分数规划2

链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网[CQOI2010]扑克牌你有n种牌,第i种牌的数目为ci。另外有一种特殊的牌:joker,它的数目是m。你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1套牌。比如,当n=3时,一共有4种合法的套牌:{1,2,3}, {J,2,3}, {1,J,3}, {1,2,J}。 给出n, m和ci,你的任务是组成尽量多的套牌。每张牌最多只能用在一副套牌里(可以有牌不使用)。思路:依然是二分寻找.

2022-03-05 17:00:38 232

原创 二分、三分、01分数规划1

例1给一串n个单调递增的数,有q次询问>=x且<=y的数有多少个。1<=n<=10^5;1<=q<=50000认准一种算法,开始解释。解释详见代码,推荐在写代码时找例子试试,不用死记硬背。为了防止l+r越界 ,可以写成这种形式:mid=l+(r-l)/2;#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>.

2022-03-04 20:07:47 341

原创 递归与分治思想3

链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网中序序列给定一棵有n个结点的二叉树的先序遍历与后序遍历序列,求其中序遍历序列。若某节点只有一个子结点,则此处将其看作左儿子结点左儿子结点可以作为后序遍历序列中左子树和右子树的分界点,其余正常遍历即可。class Solution {public: vector<int> v; void deal(int pl,int pr,int sl,int sr, vector<int>&a...

2022-03-04 13:09:37 234

原创 蒟蒻整理——高精度乘法复习

高精度的过程比较繁琐,需要对字符串进行转换,还要符合乘法顺序和进位等要求。1、读入字符串,并将两串转化为int型数组,此时存储的实际是倒序的数,因为乘法法则是从低位开始乘,这样就可以保证不用为寻找相应位数进行复杂转换;2、两数组按乘法法则按位相乘(其实不用谁长谁在上,手动模拟即可知道);2、逐位进行进位操作,最终倒序输出答案。细节问题:一定要看好存数的位数!别因为粗心少算了!#include<iostream>#include<cstdio>#include

2022-03-04 10:26:12 194

原创 蒟蒻整理——矩阵快速幂

首先看一下矩阵怎么写: for(int i=0;i<2;++i) cin>>a[i][0]>>a[i][1]>>a[i][2]; for(int i=0;i<3;++i) cin>>b[i][0]>>b[i][1]; for(int i=0;i<2;++i) for(int j=0;j<2;++j) for(int k=0;k<3;++k) c[i][j]=c[i][j]+a[

2022-03-04 09:39:23 169

原创 蒟蒻整理——最小生成树

依旧拿板子题练手:【模板】最小生成树 - 洛谷众所周知,求最小生成树有两种方法:prim和kruscal。Prim使用链式前向星双向存储。维护dis数组,存储已标记点到未标记点的最短距离(上标即为未标记点的编号)。循环过程中,考虑到重边的影响,需要进行去重操作(即只留下到达某节点所有边中的最短边),后循环查找最小边、更新答案,并利用最小边到达的节点继续去重、探索下一个最小边。#include<bits/stdc++.h>using namespace std;con

2022-03-03 19:40:43 269

原创 蒟蒻比较——spfa和dijkstra

由于好久没打最短路的板子,结果两个算法几乎都忘了呢……floyd太简单了所以记得QAQ不说了先去打一遍板子,两道题可以练手:弱化版:【模板】单源最短路径(弱化版) - 洛谷加强版:【模板】单源最短路径(标准版) - 洛谷0、链式前向星首先是链式前向星忘没影了……解释给自己听一遍:一个结构体edge,里面存to(边到哪里去),dis(边的长度)和next(这里是指下一条出边,比如1->2, 1->3, 1->4,那么这个next的作用就是循环1的出边2/3/4)he.

2022-03-03 14:09:35 775

Java 第16章 坦克大战1-2 源码

Java 第16章 坦克大战1-2 源码

2023-12-24

Java 第16章 坦克大战1 思路整理

Java 第16章 坦克大战1 思路整理

2023-12-24

空空如也

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

TA关注的人

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