- 博客(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
167
原创 单链表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
191
原创 经典六大排序算法(冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序)
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
220
原创 启动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
505
1
原创 Maven项目中在pom.xml中添加依赖没有自动提示或者提示的都是不想要的
Maven项目中在pom.xml中添加依赖没有自动提示或者提示的都是不想要的 这样设置以后就不会提示乱七八糟的东西了!!
2021-08-19 03:00:48
482
原创 Java单链表面试题
单链表面试题 获取单链表长度 查找单链表倒数第k个元素 单链表反转 反向打印单链表(不破坏原有单链表) 合并两个有序的单链表,合并后依然有序
2020-10-09 23:14:24
269
原创 单链表(Java实现)
单链表(Java实现) 什么是链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。 每一个链表都包含多个节点,节点又包含两个部分,一个是数据域(储存节点含有的信息),一个是引用域(储存下一个节点或者上一个节点的地址)。 链表的特点是什么 不指定大小,扩展方便。链表大小不用定义,数据随意增删。 内存中非连续,内存利用率高 获取数据麻烦,需要遍历查找,比数组慢 方便插入、删除 单链表实现 public class HeroNode { publ
2020-10-02 11:15:42
388
原创 LeetCode-4 寻找两个正序数组的中位数(Java实现)
LeetCode-4 寻找两个正序数组的中位数(Java实现) 题目如下: 我的解决思路
2020-09-27 10:35:53
256
原创 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
423
原创 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
328
原创 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
512
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
664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅