自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习总结!

Comparable 接口中只提供了一个方法: compareTo(Object obj) ,该方法的返回值是 int。如果返回值为正数,则表示当前对象(调用该方法的对象)比 obj 对象“大”;案列:以TreeMap为例,默认的升序,可以重写自然排序的方法改变原有排序。总结为一句话:实现Comparable,重写 compareTo方法。2、比较器排序:java.util.Comparator。1、自然排序:java.lang.Comparable。总结为一句话:实现Comparator 接口,重写。

2024-04-16 19:56:59 257

原创 学习总结!

IO流概述:1.IO:输入(Input读取数据)/输出(Output写数据)2.流:是一种抽象概念,是对的总称,也就是说数据在设备间的传输称为流,流的本质是数据传输,IO流就是用来处理设备间数据传输问题的。3.常见的应用:文件上传、下载、复制等。

2024-04-11 19:10:28 311

原创 学习总结!

实现Runnable接口。

2024-04-09 20:36:42 130

原创 学习总结!

包装类: Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。JDK自从1.5版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。自动装箱:将 基本数据类型 封装为对象类型,来符合java的。

2024-04-05 00:27:08 974

原创 学习总结!

修饰称为。

2024-04-02 20:05:40 945

原创 学习规划!

1.学习Java的面向对象和异常处理。2.学习英语,为编程和四级做准备。1.学习java集合和oi流。1.学习java多线程和泛型。结束java基础知识学习。2.开始做java项目。2.学习javafx。3.每天刷两道算法题。

2024-04-01 00:28:28 135

原创 学习总结!

equals关键字只能用于比较引用数据类型,在object类中的equals与等号一样,就是比较两个变量地址是否一样,在String类中重写了equals,可以比较两字符串是否相等,在具体开发中我们可以重写类中的equals方法,来比较类中的某些属性是否相等。注意:虽然static修饰的方法不能访问类中的非静态成员变量和非静态方法,但是非静态成员方法却可以访问静态变量和静态成员方法;static修饰的成员变量和方法,从属于类,普通变量和方法从属于对象,静态方法不能调用非静态成员,编译会报错。

2024-03-31 19:30:05 607

原创 学习总结!

构造器的名字必须和所在类的名字一致,没有返回值,但不能声明void,访问权限可以为任意,但是一般情况下使用public方法权限,构造器中的参数可以根据需要自行定义,参数的不同的构造方法构成重载。当我们在定义类中的方法时,类中的方法中的形参为了能够顾名思义,往往和类中的属性名称一样,这这时我们可以用this关键字来表示某一个变量就为类中的属性。构造器也是一样的,另外可以用this实现一个构造器中调用另一个构造器,this中的形参数据类型与某一要调用的构造器的数据类型要相对应。子类可以直接访问父类中的。

2024-03-28 21:44:30 338

原创 学习总结!

输入测试用例数t,每个例子包括两个4个数字的整数(由1到9组成),一个为源,另外一个为目标。每次可以将其中任何一个数字+1或者-1运算,并且规定1-1=9,9+1=1;也可以将相邻2位数进行交换。问最少需要变换几次,才能从源变为目标 该问题可以用BFS来解决。在BFS搜索过程中,出现过的4位数就不必再试探了,因为再用这个4位数变下去其次数不可能比上次开始的变换次数少。Java目前学习到了面向对象的一些知识,比如类的实例化,类与对象,属性(成员变量)与方法声明与定义。

2024-03-26 22:25:31 664

原创 学习总结!

广搜,在开始的时候把'#'处理一下会好做很多,遇到上下两层都是# 的,就把上下两层的这个位置都弄成墙就行。还有遇到 一层是#,一层是墙的。也直接把俩都弄城墙就行,省的要判断他撞死,步数不要多加,也不要少加,从' . '到'#',在从‘#’到另一层只需要加一步就ok了。java目前学习到了数组部分。

2024-03-24 22:02:36 241

原创 学习总结!

这道题利用了BFS算法,其中这道题他有两个起点,我们可以分别对两个起点进行bfs算法求解,然后找出两个起点到某一个kfc的最小值,再乘以11即可。最近主要在学习java,刷题比较少。

2024-03-21 22:16:38 149

原创 学习总结!

这道题目和洛谷上的一道题目非常像,几乎一摸一样,做题时不要忘记在循环里,每循环一次都要把答案归零,不然会不断累加。这道题主要考察联通块,这类问题主要是从一个目标点出发,经过之后就要更新,然后在不断往各个方向走。这道题目运用三维的bfs,第一次做时无从下手,原来可以利用三维数组(第一次用三维数组)可以解决这类问题,然后套bfs模板即可。最近主要学习了java,题目的话就写了两道。

2024-03-19 22:21:23 306

原创 2.23日学习总结

今天刚学的01背包,套模板就可以解决这道题。

2024-02-23 23:29:46 449

原创 2.22日学习总结

map 映照容器在头文件<map>中定义,它的元素数据是由一个键值和一个映照数据组成的,键值和映照数据具有一一对应的关系,键值可以是数,也可以是字符。对于这一道题,我们可以把 A-B=C 改成 B+C=A,再通过 map 进行映照,就可以得出答案。

2024-02-22 21:21:26 387

原创 2.21日学习总结

先把所有的人名字存起来,使用map,这样可以建立从名字到数的映射,标记为1,然后扫一遍,如果为1,输出OK,同时将1更新为2,如果遇到为2,输出REPEAT,如果为0,说明没有,输出WRONG即可。

2024-02-21 23:27:27 387

原创 2.20日学习总结

第二个字符串的后缀的区间哈希值,第一个字符串的后缀的区间哈希值和第二个字符串的前缀的区间哈希值。哈希,先求两个字符串的前缀哈希值,枚举两个字符串的重复部分的长度,因为题目说“所以只要判断两种情况:第一个字符串的前缀的区间哈希值。

2024-02-20 23:37:36 389

原创 2.19日学习总结

【代码】2.19日学习总结。

2024-02-19 23:32:59 505

原创 2.18日学习总结

采用Floyd算法,如果对于一个传送门来说,他影响的最短路只有 经过他的两个端点的路径 ,所以我们把Floyd最外层的k优化掉,只对他的两个端点在原最短路+传送门(一条无向边权值为0)进行Floyd的第二三层循环求最短路即可。

2024-02-18 18:53:26 420

原创 2.17日学习总结

这题可以用克鲁斯卡尔算法即可,使用并查集,将边按从小到大排序后,每次询问最小的一条边的两个端点,如果这两条边不在同一个集合中,就把他们合并,ans+=边的长度。最后用%.2Lf输出即可。注意一点:已有的道路不用再建,所以边权是零。

2024-02-17 18:40:51 417

原创 2.16日学习总结

这道题如果看出题目实质就变得很简单了,不过看不穿的话就会很难想了。第i件物品对j有优惠的话就建边,然后从0向各点连边权为a的边,然后跑一边kruskal就OK了。

2024-02-16 23:27:48 429

原创 2.15日学习总结

我们做最小生成树的模板时,是不是有n - 1条边就可以退出了,这里其它的没变,就退出条件变了。这里s可能排上一点点用场了,退出条件变成了。(p和之前的n是几乎一样的)。

2024-02-15 22:44:46 383 1

原创 2.6日学习总结

今天太坑了,一直在找bug,总结一下。首先对于数组大小的确定,太小的话会越界而出错WA,也可能会RE,太大的话会运行不出结果(但有时提交会通过,可能有02优化,节省了时间)。写spfa是一定要注意还有一个数组q,经常忽略他的范围出错。总结目前RE的情况:数组太小,逻辑错误(比如某个if少个括号),数组下标为负数。今天学习了spfa算法。

2024-02-06 20:20:26 359

原创 2.5日学习总结

Dijkstra算法:这个算法比较长,而且还可以进行优化。要写出这个算法,脑子里要能够清晰的模拟出这个过程,彻底搞懂之后,发现也没有特别难。Floyd算法:相对于其他算法,这个算法是比较好理解的,主要是利用了三重循环进行的不断添加新的点来完成的。今天学习了最短路径的Floyd和Dijkstra算法。这是一道模板题,不管用什么算法都是可以解决的。

2024-02-05 23:01:32 408

原创 2.2日学习总结

输入二叉树的先序序列,这里用到了一个知识点,当某个节点为i时,则它的左孩子为2i,右孩子为2i+1(但根节点为0时,则左孩子为2i+1,右孩子为2i+2),则不断给二叉树的根节点赋值,再给左子树赋值,在给右子树赋值。最后在分别输出先序,中序,后序序列输出。今天学习了用数组模拟二叉树。

2024-02-02 23:44:32 395

原创 2.1日学习总结

这道题比较难, 因为它的路径是实时更新的,所以我们要用一个数组记录各个点的状态,如果到达某个点时所用时间大于记录的时间,就要返回重新走。这道题还有很多坑,比如一个地方可以被多个陨石砸中,时间会记录的越来越大,所以我们要取最开始的时间,不断更新取最小值。今天做了一道bfs的题目。

2024-02-01 23:43:48 353 1

原创 1.31日学习总结

这两道题都是同一类型的,都是已知先序或后序以及中序,求后序或先序。为了更方便的解决这两道题学习了find函数和substr函数。之后就可以根据先序中序后序的原理,利用递归推出未知的序列。这道题目可以利用数组l,r储存二叉树的每个节点的左右孩子,再利用dfs不断更新最大深度。

2024-01-31 22:16:23 391

原创 1.30日学习总结

做这道题时我被坑了,我以为只有修完一条公路才能继续修下一条,其实修公路时所有公路是可以一起修的。这道题给出的有很大的关联性,可以定义一个结构体来表示,同时输出只有一个数时,数据可以用数组表示(当有多行输出时可以不断赋值给一个变量)。需要给时间进行排序,可以用sort函数进行升序排序。从小往大处走,直到所有村庄连通起来。并查集是有模板的,无非就是并和查,然后可以分别将他们进行优化为按秩合并与路径压缩。昨天学习了并查集,今天就做了关并查集的题目,最后学习了一些二叉树的知识。这道题套模板就可以解决了。

2024-01-30 23:42:45 378

原创 1.29日学习总结

顾名思义就是将集合中的元素以树的双亲表示法表示出来,进行查与并的操作。查就是输入一个元素,找出它的根节点。并的操作就是将两个集合并在一起,相当于将森林转换为树。查:首先我们需要定义一个数组:int pre[1000];这个数组记录了每个人的上级是谁。这些人从0或1开始编号(依题意而定)。3、如果 x 和 y 不相等,则随便选一个人作为另一个人的上级,如此一来就完成了 x 和 y 的合并。今天比较混,只学习了并查集的一些基本知识,明天必须不能在混了,加油!1、寻找 x 的根节点);2、寻找 y 的根节点;

2024-01-29 23:45:40 384

原创 1.26学习总结

这道题运用了排列类型的dfs,同时要注意写判断一个数是否为素数的函数时,要想到素数的性质,只要被1到它本身之间的任何一个数除尽就要返回0,只有前面的语句全部执行完了,最后才能返回1。在dfs函数中,我们要用一个数组q将下标i和qi的值联系起来,求出和,在判断是否为素数。

2024-01-26 23:30:36 352

原创 1.25学习总结

这题可以运用dfs ,将每一种情况分给左右脑遍历一遍,最后取最小值即可。明天必须要“好好”学习!

2024-01-25 22:46:12 396

原创 1.24学习总结

这道题有许多需要注意的点,比如“要注意到马走日”这个规则,还有要控制输出时空格格式。在做这道题时,我在开始时想通过不断改变终点坐标来实现,但其实在实现bfs时,每个点的最小步数已经求出来了,因为第一次到达某个位置时,所需的步数其实就是最小步数。所以我们可以通过dfs,将字符串拼接,在求出重叠部分的长度,用总长度再减去重叠部分即可。这道题有三种不同的数,我们可以先将外层的0改为3,之后将剩下的改为2,再将3改为0.同时要注意开始dfs时要从(0,0)开始,还要注意判断越界时,是从0到n+1;

2024-01-24 22:07:15 337

原创 1.23学习总结

广度优先搜索旨在面临一个路口时,把所有的岔路口都记下来,然后选择其中一个进入,然后将它的分路情况记录下来,然后再返回来进入另外一个岔路,并重复这样的操作。首先按照入栈序列的顺序将元素入栈,然后判断栈顶元素是否与出栈序列的第一个元素相同,如果相同则将栈顶元素弹出,同时出栈序列的指针向后移动一位。如果栈为空,则出栈序列是合法的,输出"Yes";如果栈不为空,则出栈序列不合法,输出"No"。大部分时间用来学习c++,只做了一道关于栈的题目,还学习了一下bfs的模板,明天刷有关bfs的题目。

2024-01-23 22:07:32 424

原创 1.22学习总结

第一次接触这种题目,读完题,一点思路没有,但是看完题解之后,再多刷这种类型的应该就能基本掌握了。今天主要学习了dfs,看了学长推荐的关于dfs的文章,之后写了5道dfs的题目,但目前还是有点懵懵的,明天还要继续巩固刷题。这道题利用学长推荐文章中的第三个问题(迷宫)的基本思想就能做,我在这犯了很多错误,比如忘记了起始点标记,在定义全局变量与局部变量时,定义了同一个变量。大部分dfs问题都可以利用模板,但题目往往加了各种限制条件,增大了难度,但换汤不换药,相信只要勤加练习,一定可以熟练掌握dfs算法。

2024-01-22 20:53:55 394

原创 14周学习总结

第三章线性表学习这一周,主要学习了第三章的线性表,先学习了它的定义,线性表是零个或多个具有相同类型的数据元素的有限序列。之后学习了线性表的两大结构,先学的是比较容易的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。通常我们都是用数组来实现这一结构的。后来是重点,由顺序存储结构的插入和删除操作不方便,引出了链式存储结构。它具有不受固定的存储空间限制,可以比较快捷地插入和删除操作的特点。

2023-12-17 19:39:21 80 1

空空如也

空空如也

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

TA关注的人

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