- 博客(45)
- 收藏
- 关注
原创 JAVA复习【11】单列集合Collection:ArrayList、 LinkedList、HashSet、TreeSet学习与使用
ArrayList、 LinkedList、HashSet、TreeSet学习与使用
2022-12-04 17:54:52
519
原创 JAVA复习【9】JAVA中的replace、replaceAll、replaceFirst方法的区别和使用
JAVA中的replace、replaceAll、replaceFirst方法的区别和使用
2022-11-04 00:07:01
1095
转载 Java基础知识复习(四)--多态
面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开:多态的基本介绍所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即
2021-07-15 18:07:44
127
原创 Java基础知识复习(三)
1.递归练习//斐波那契数列 public static long fib(int n){ if(n<0){ throw new IllegalArgumentException("X必须大于等于0 n="+n); } if(n==0){ return 0; }else if(n==1){ return 1;
2021-07-14 19:42:16
112
原创 Java基础知识复习(二)
1.NPE(空指针异常):指通过一个引用操作其指向的对象的属性或者方法时,该引用为null。常见的几种空指针异常:引用.属性引用.方法数组引用 Array[0] Array{}==nullsynchronized(引用){}2.MyLinkedList元素类型(String):add(e) 尾插add(index,e) 在index位置添加eremove(index) 删除index位置元素remove(e) 删除第一个遇到的eget (index) 返回index
2021-07-09 17:37:10
94
原创 Java基础知识复习(一):
Java基础知识复习(一):1.类的语法规则:public class Hello{类中可以添加的语句:1.属性/静态属性的定义 {int a; int a=10; static int a=10;2.其它的类(接口) class A{};3.方法/静态方法4.构造方法5.代码块/静态代码块}2.成员内部类:定义:定义在类中方法外的类示例:public class Hello{class 成员内部类{}}访问特点:成员内部类可以直接访问外部类的成员变量和成员方
2021-07-08 17:53:26
99
转载 maven中的groupId和artifactId到底指的是什么?
具体回答如下:groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,
2020-10-25 13:18:38
196
原创 读入一个字符串str,输出字符串str中的连续最长的数字串
**算法思想:**用两个循环来判断,外部循环判断是否为数字,第二个循环来计算数字串的长度,然后用substring方法将最长的数字串输出。import java.util.Scanner;//读入一个字符串,输出字符串中连续最长的数字串public class Main { public static void main(String[]args){ Scanner sc=new Scanner(System.in); String str=sc.nextLi.
2020-06-04 20:04:09
581
原创 笔试原题:有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶水。
原题目描述:有这样一道智力题:某商店规定:三个空汽水可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?答案是五瓶,方法如下:先用9个空瓶子换三瓶汽水,喝掉三瓶满的,喝完以后四个瓶子,用三个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用三个空瓶子换一瓶满的还给老板,如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?题目分析设置个计算换取到的瓶子的变量k。当n是三的倍数时:采用递归:k=k+n/3;更新n为:n=n/3,继续循环
2020-06-02 10:40:06
4976
原创 有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对,请设计一个高效的算法,计算给定数组中的逆序对个数。
给定一个int数组A和它的大小n,请返回A中的逆序对个数,保证小于5000.这是牛客上的一道题目,这道题可以设置两个循环,一个循环依次遍历数组中的数并且设置一个标记位,一个循环从当前数开始,依次和后面的数进行比较,发现逆序数字,标记位加一。import java.util.*;//给定一个数组,返回它的逆序数个数;public class AntiOrder { public int count(int[] A,int n){ int count=0; for
2020-06-01 22:09:13
435
原创 Mysql 事务
一.事务是什么,怎样来理解事务呢?下面我们来举个栗子让大家清晰的理解一下事务:先准备一个测试表:drop table if exists accout;create table accout( id int primary key auto_increment, name varchar(20) comment '账户名称', money decimal(11,2) comment '金额');insert into accout(name, money) values('阿里巴巴',
2020-05-09 21:41:58
123
原创 七中常见的排序算法(插入排序,希尔排序,堆排序,选择排序,冒泡排序,选择排序,归并排序)
一.插入排序让bound指向第一个元素,将所有元素分为[0,bound)已排序区间和[bound,size)待排序区间, 先取bound位置的元素,往前面的已排序区间中插入,插入完毕后已排序区间仍然是有序的,把bound位置的元素在前面找一个合适的位置,同时需要搬运相关元素.接下来用Java 来实现这种算法: public static void insertSort(int[] arra...
2020-04-26 19:13:52
500
1
原创 堆(利用向下调整来建堆)
堆(heap):对本质上是一个二叉树,满足这么几个条件:1.完全二叉树2.对于数中的任意节点,满足根节点小鱼左右子数的值(小堆);满足根节点大于左右子数的值(大堆);一个堆如果是小堆,就不可能是大堆,堆通常就是通过数组的形式来存储的.堆最大的用处就是能让我们快速找到一个数中的最大值或者最小值(根节点)堆的几种常见操作:一:向下调整前提:左右子数必须是一个堆才能进行调整;先设定根节...
2020-04-14 18:46:15
380
原创 二叉树的三种遍历及代码实现
二叉树是一种特殊的数据结构,二叉树是有两个节点的树,二叉树的基本表示是左右孩子表示法,基本操作是遍历,二叉树有三种遍历方法:1.先序/前序遍历: 根左右2.中序遍历: 左根右;后序遍历法: 左右根就比如这颗二叉树:先序:A B D E G H C F中序:D B G H E A C F后序:D H G E B F C A下面来用Java实现这三种遍历方式:先序遍历: 总的先序遍...
2020-04-13 10:27:28
1892
原创 面向对象程序设计:封装,继承,多态,方法重写和重载的区别
一. **封装**: 封装有四种访问权限,public,protected,default,private,这四种权限的区别如下: 1.public. 所有人都能使用 2.protected. 只能是相同包中的类可以使用,不同包中的子类可以访问父类的protected属性. 3.default. 相同包中的类可以使用 4.private.类内部可以使用 封装的意义:可以降低代码的复杂...
2020-04-01 13:05:20
316
原创 寻找链表入环的第一个节点
采用快慢指针的方法:快指针fast走两步,慢指针slow走一步,如果相遇就是带环链表;然后让cur1从链表头开始走,cur2从相遇点开始走,再次相遇的位置就是入环的第一点public class DateCycle { static class ListNode { int val; ListNode next; public List...
2020-03-19 23:06:35
254
原创 给定一个链表,判断链表是否有环(Java实现)
解题思路:分别创建一个快指针和慢指针,快指针一次往后移动两个位置,慢指针slow和快指针fast,慢指针和快指针同时走,慢指针一次走一步,快指针一次走两步,如果是带环的链表,那么快慢指针会相遇,如果不是,就不会相遇.public class Cycle { static class ListNode { int val; ListNode next; ...
2020-03-11 17:08:46
219
原创 java链表 找两个链表的第一个相交节点
首先两个链表相交是Y型相交,而不是X型相交,因为一个节点只有一个next,所以两个链表相交后的节点也都一样;其次判断两个链表的相交并不是比较值相交,而是比较比较两个链表的引用,也就是比较内存地址是否相同;思路:一. 首先求出两个链表的长度分别为size1和size2二.求出两个链表的差值offset,让长的链表先走offset步,这样两个链表的长度就一样了.三.然后比较两个链表节点的对象...
2020-03-11 14:42:19
336
原创 链表 判断回文链表
要判断回文链表,首先先要搞清楚回文结构:回文结构就是正着读和反着读是一样的一段文字,就比如:“上海自来水来自海上” 这句话就是一个回文结构,那么怎么样来判断一个链表是否是回文结构呢?主要思想如下:一.首先找到这个链表的中间节点二从中间节点开始,对后半个链表进行逆置操作.三从两个链表的开头依次遍历,进行比较即可....
2020-03-09 22:08:05
229
原创 链表 删除有序链表的重复节点
分析由于链表是有序的,那么相同元素一定是相邻位置的,思路一 首先创建一个新链表,头尾节点分别是NewHead和NewTail二.遍历这个链表,判断当前节点是否是重复元素.三. 如果不是重复元素,那么把这个节点插入到新的链表中四.如果是重复元素,就直接跳过重复元素,处理下一个节点(如何保证能够跳过所有的重复元素呢?循环往后找,一直找到某个位置开始cur和cur.next不相等了,就说...
2020-03-04 17:00:36
191
原创 Java链表 链表分割 以给定值为基准,大的在左边,小的在右边(链表顺序不能变)
解决思路:搞两个新链表,big链表存放大于等于基准值的节点small链表存放小于基准值的节点最后将两个链表连接起来即可public class Partition { static class ListNode { int val; ListNode next; public ListNode(int val) { ...
2020-03-03 21:38:18
331
原创 java链表 合并两个链表(按升序排列)
一. 用cur1和cur2分别来记录两个链表当前节点,两个节点进行比较,较小的节点插入到新节点的末尾.二.由于链表的插入需要遍历整个链表,找到链表末尾才能插入所以为了方便,分别用NewHead和NewTail来表示新链表的头结点和为节点.三. 插入新链表时也要考虑两种情况,判断NewTail是否为空,若为空,则新链表的头结点和为节点都指向被插入的节点,若不为空,那么将被插入节点插入到新链表末...
2020-03-03 18:25:40
2526
原创 Java链表 给定一个链表 返回倒数第K个节点
求出链表长度size,让cur从头结点head开始走size-k步就好了public class Middle { //给内部类加static,让内部类和List类相关,而和对象不相关 static class ListNode { int val; ListNode next; public ListNode(int val) ...
2020-03-03 16:50:03
194
原创 Java 给定一个非空链表,返回其中间链表(若有两个中间节点,返回右边的)
核心思想是:先求出链表长度,然后除以二得到steps,然后从头结点出发,走steps 步,就是中间节点,这个对长度为奇数或者偶数个的链表都适用.public class Middle { //给内部类加static,让内部类和List类相关,而和对象不相关 static class ListNode { int val; ListNode next...
2020-03-03 15:38:20
192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人