
Java系列
文章平均质量分 96
彷徨于无地
这个作者很懒,什么都没留下…
展开
-
带环链表相交问题
带环链表交点完整代码在最后。1不带环链表相交1.1问题描述LeetCode-相交链表: 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交,若两链表不相交,则返回null。 如上图所示(其中abc表示节点的个数),使用两个指针x和y分别指向链表1和链表2的起始位置开始向后遍历: 对于有交点的链表:x指针从链表1开始向后走,当走到链表1的末尾时,其走过了a+c个节点,此时将x指针指向链表2的头部。y指针从链表2开始向后走,当走到链表原创 2021-03-06 17:15:52 · 899 阅读 · 0 评论 -
数据结构-时间&空间复杂度
时间&空间复杂度1算法1.1算法的特性1.2好算法2尺子2.1TA(P)T_{A}(P)TA(P)2.2TA(n)T_{A}(n)TA(n)2.3算法评判2.3.1实验统计法2.4大O记号2.5时间复杂度2.5.1常数复杂度O(1)O(1)O(1)2.5.2对数复杂度O(logn)O(\log n)O(logn)2.5.3多项式复杂度O(nc)O(n^{c})O(nc)2.5.4指数复杂度O(2n)O(2^{n})O(2n)2.6算法分析2.6.1正确性分析2.6.2复杂度的分析2.6.2.1原创 2021-02-10 17:26:17 · 1207 阅读 · 2 评论 -
面向对象练习--简易图书管理系统实现
简易图书管理系统实现1基本要求1.1创建类1.1.1`Book`类1.1.2`BookList`类1.1.3操作类1.1.3.1接口1.1.3.2操作类1.1.3.2.1`AddOperation`类1.1.3.2.2`DelOperation`类1.1.3.2.3`DisplayOperation`类1.1.3.2.4`FindOperation`类1.1.3.2.5`BorrowOperation`类1.1.3.2.6`ReturnOperation`类1.1.3.2.7`ExitOperation`类原创 2021-02-07 19:22:53 · 967 阅读 · 0 评论 -
Java异常
异常是程序运行过程中出现的一种错误。防御式编程在计算机编程中,不存在没有错误的代码,尽管一个程序员在编写代码时能够考虑的面面俱到,但写出的代码可能仍然处理不了全部情况,或者某些情况下,所考虑到的情况是无法进行处理的,此时就需要在此处为用户做出一些提示或其他。这种提前考虑到不同情况来进行不同处理的编程思想称为防御式编程。防御式编程的两种方式:LBYL:Look Before You Leap.在操作之前就做充分的检查EAFP:It’s Easier to Ask Forgiveness than原创 2021-02-06 18:13:18 · 605 阅读 · 1 评论 -
面向对象:继承&多态
在Java类和对象一文中简要介绍了面向对象的一些基础知识,本文对其中涉及到的继承和多态进行简要介绍。继承语法继承是面向对象中可以重复使用代码的一种手段,允许在保持原有类特性的基础上进行一定的扩展和增加功能,这样产生新的类称为派生类。继承的语法如下:public class ClassName extends SuperClass{ //类体}使用extends关键字来指定父类(超类)Java中一个类只能继承一个类,即单继承子类会继承父类所有的属性和方法,但只能访问和使用由protect原创 2021-02-05 10:14:43 · 590 阅读 · 1 评论 -
Java中String类
String类不得不说,String类应该算是我们学习Java中遇到和使用的的第一个类,因此学习和了解String类的相关知识,也有助于我们更好的理解类。创建字符串常见的创建字符串有如下三种方式://方法1String str1 = "Hello World";//方法2String str2 = new String("Hello World");//方法3 char[] charArray = {'a','b','c',};String str3 = new String(charA原创 2021-02-01 20:53:47 · 177 阅读 · 0 评论 -
串匹配--KMP算法的实现与优化
串匹配--KMP算法的实现与优化串0相关概念1关注的问题1.1是否出现?detection1.2第一次在哪出现?location1.3出现了几次?counting1.4所有出现的位置在哪里?enumeration1.5重点问题2串匹配算法2.1算法一:蛮力匹配2.1.1原理2.1.2代码2.2算法二:KMP算法2.2.1KMP算法的原理2.2.2记忆力 OR 预知力2.2.3`Next[j]`表2.2.4KMP主算法2.2.5`Next[j]`表的构建2.2.5.1通配哨兵2.2.5.2递推构造2.2.5.原创 2021-01-30 21:16:57 · 846 阅读 · 1 评论 -
Java类和对象
Java类和对象文章目录Java类和对象面向对象基本概念对象类消息面向对象的特性封装性继承性多态性类的定义类声明类的访问限定修饰符类的其他修饰符`class ClassName``extends SuperClass``implements InterfaceNameList`成员的定义成员变量的定义限定访问修饰符实例变量和类变量--`static`关键字`type variableName``final`关键字`volatile`关键字成员方法的定义限定访问修饰符类方法和实例方法--`static`关键原创 2021-01-28 20:14:27 · 1088 阅读 · 4 评论 -
Java变量、数据类型(基本类型)、运算符和注释
变量变量的定义变量是一个用于存放用户数据或程序运行产生数据的量。通常来说,如果定义了一个变量,那么计算机会在内存中为该变量开辟一块空间,这块空间用于存放该变量对应的数据。变量的命名规则Java中,变量命名有如下规则:必须以字母、下划线、或者美元符$开头;以美元符$ 开头命名的变量虽然能够编译通过但是不建议使用;中文也可以作为命名开头且编译也能通过,但是不建议使用。除开头外后面的部分可以有字母、下划线、美元符以及数字组成;同样的含有美元符‘以及数字组成;同样的含有美元符`以及数字组成;同样的含有原创 2020-12-15 20:14:57 · 155 阅读 · 0 评论 -
初识Java
Java概述 同C语言一样,Java也是一门计算机程序设计语言,其不仅吸收了C++语言的优点,同时又摒弃了C++中许多难以理解概念(如多继承、指针等)。Java是门面向对象的编程语言。1面向对象 何为面向对象?面向对象是相对于面向过程而言的,C语言为面向过程语言,面向过程即为分析出解决某个问题所需的具体步骤,然后使用函数把这些步骤一步一步的实现,使用时依次调用即可。1.1 对象 对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统原创 2020-12-13 10:48:00 · 419 阅读 · 0 评论