- 博客(15)
- 收藏
- 关注
原创 双向链表Java实现
package day01;public class MyTwoWayLinkedList<T> { public Node head; public Node last; public int size; public MyTwoWayLinkedList(){ head = new Node(null,null,null); last = new Node(null,null,null); head.nex
2021-09-09 21:45:20 112
原创 单链表Java实现及单链表反转、快慢指针、单链表是否有环、单链表环入口
import java.util.Iterator;public class MyOneWayLinkedList<T> implements Iterable{ Node head; private int size; public MyOneWayLinkedList() { head = new Node(null,null); size = 0; } public int getSize() {
2021-09-09 21:41:34 136
原创 经典六大排序算法(冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序)
import java.util.Arrays;public class Sort { public static void main(String[] args) { Integer[] a = {8,6,4,945,56,95,44,1,64,645,6,74,65,65,77,33,6,4,56}; quickSort(a,0,a.length-1);// bubbleSort(a); shellSort(a);//
2021-09-07 19:10:18 161
原创 启动Maven项目提示Unable to compile class for JSP:的解决方法
启动Maven项目的报错提示:原因是tomcat版本不匹配解决方法如下:在pom.xml中的标签中添加如下内容,并且启动项目的时候使用 mvn tomcat7:run 命令。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>
2021-08-19 03:51:23 397 1
原创 Maven项目中在pom.xml中添加依赖没有自动提示或者提示的都是不想要的
Maven项目中在pom.xml中添加依赖没有自动提示或者提示的都是不想要的这样设置以后就不会提示乱七八糟的东西了!!
2021-08-19 03:00:48 264
原创 Java单链表面试题
单链表面试题获取单链表长度查找单链表倒数第k个元素单链表反转反向打印单链表(不破坏原有单链表)合并两个有序的单链表,合并后依然有序
2020-10-09 23:14:24 176
原创 单链表(Java实现)
单链表(Java实现)什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。每一个链表都包含多个节点,节点又包含两个部分,一个是数据域(储存节点含有的信息),一个是引用域(储存下一个节点或者上一个节点的地址)。链表的特点是什么不指定大小,扩展方便。链表大小不用定义,数据随意增删。内存中非连续,内存利用率高获取数据麻烦,需要遍历查找,比数组慢方便插入、删除单链表实现public class HeroNode { publ
2020-10-02 11:15:42 307
原创 LeetCode-4 寻找两个正序数组的中位数(Java实现)
LeetCode-4 寻找两个正序数组的中位数(Java实现)题目如下:我的解决思路
2020-09-27 10:35:53 191
原创 LeetCode-3 无重复字符的最长子串(Java实现)
LeetCode-3 无重复字符的最长子串(Java实现)题目如下:我的解决思路定义一个遍历max来保存最大的子串长度,定义一个currentStr来保存当前的子串。以字符串"abcabcbb"为例:取第一个字符a。a不在currentStr中,就将a添加到currentStr中,当前currentStr = “a”; max = 1;取第二个字符b。b不在currentStr中,就将b添加到currentStr中,当前currentStr = “ab”;max = 2;取第三个字符c。c不
2020-09-26 22:45:51 309
原创 LeetCode-2 两数相加(Java实现)
LeetCode-2 两数相加(Java实现)题目如下:已经给定的链表类如下:我的解决思路1、先定义一个num1来存放l1的实际十进制值,num2来存放l1的实际十进制值。int num1 = 0;int i = 0;do{ num1 = num1 + (int)(l1.val * Math.pow(10,i)); i++; l1 = l1.next;}while(l1 != null);2、计算num1+num2的和的长度len,创建一个长度为len的Lis
2020-09-26 20:00:15 239
原创 LeetCode-1 两数之和(Java实现)
LeetCode两数之和习题分析看到这一题,我马上就想到了对该数组进行双层循环,以题目上的数组为例:第一次循环:2 + 7、2 + 11、2 + 15第二次循环:7 + 11、7 + 15第三次循环:11 + 15换成代码为:for (int i = 0; i < nums.length - 1; i++){ for (int j = i +1; j < nums.length; j++){ if (nums[i] + nums[j] == target)
2020-09-26 16:37:38 412 1
原创 Java实现普通二维数组和稀疏数组的相互转换
稀疏数组应用场景 在五子棋游戏当中,一般都有“存档”和“继续上局”的功能,存档的时候需要把棋盘上的数据转成二维数组,存储到磁盘中,继续上局的时候需要把数据从磁盘中取出来,还原到棋盘上。 我们发现,这个二维数组很多数据都是0,有效数据只有4个(1,2,1,2),这样直接存储会浪费磁盘空间,这时候需要将数据压缩为稀疏数组来节省空间。稀疏数组格式为了对比学习,我们先初始化一个原始二维数组,模拟棋盘int[][] initialArray = { {0,0,0,0,0,0,0,0,0,0,0
2020-09-25 13:22:13 574
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人