随笔分类 - java基础
摘要:冒泡排序 图解 代码实现 package com.wiselee.sort; import java.util.Arrays; /** * @PROJECT_NAME: DataStruct * @DESCRIPTION: * @USER: 28416 * @DATE: 2022/12/11 13:
阅读全文
摘要:java.util.Stack; /** @PROJECT_NAME: DataStruct @DESCRIPTION: @USER: 28416 @DATE: 2022/11/30 14:41 逆波兰表达式 */ public class PolandNotation { public stati
阅读全文
摘要:栈实现计算器的操作 使用一个栈完成计算一个表达式的结果 使用两个栈:数栈(存放数) 符号栈(存放运算符) 思路 通过一个index值,来遍历我们的表达式 如果我们发现一个数字,就直接加入到树栈中 如果发现扫描到的是一个符号,就分如下情况来解决, 如果发现当前的符号栈就直接入栈 如果符号栈有操作符,就
阅读全文
摘要:单向环形列表 应用场景:约瑟夫环问题 思路: 创建第一个节点,让first指向该节点,并形成环状 后面当我们每创建一个新的节点,就把该节点,加入到已有的环形链表中即可 遍历环形链表 先让一个辅助变量,指向frist节点 然后通过一个while循环遍历该环形链表即可 curBoy.next == fi
阅读全文
摘要:单链表的面试题 1.求单链表中的有效节点的个数 /** * * @param heroNode 链表的头结点 * @return 返回的就是有效节点的个数 */ public static int getLength(HeroNode heroNode){ if (heroNode.next ==
阅读全文
摘要:队列 队列首先是一个有序列表,即可以用数组或是链表来实现 遵循先入先出的原则,即:先存入队列的数据,要先取出,后存入的要后取出 示意图: 数组模拟队列 队列本身就是有序列表,若使用数组的结构来存储队列的数据,则使用maxsize表示该队列的最大容量 因为队列的输出、输入是分别从前后端来处理,因此需要
阅读全文
摘要:稀疏数组 当一个数组中大部分元素为0,或者为同一个数值时,可以使用稀疏数组来保存该数组 稀疏数组的处理方法是: 1.记录数组一共有几行几列,有多少不同的值 2.把具有不同值的元素行列以及值记录在一个小规模的数组中,从而缩小程序的规模 应用实例 棋盘的一个案例 一般稀疏数组的列是固定的三个,分
阅读全文
摘要:java序列化和反序列化 如果我们需要持久化Java对象比如将Java对象保存在文件中,或者在网络传输Java对象,这些场景都需要用到序列化。 序列化: 将数据结构或对象转换成二进制字节流的过程 反序列化:将在序列化过程中所生成的二进制字节流的过程转换成数据结构或者对象的过程 实际开发中有哪些用到序
阅读全文
摘要:Java集合分类 数据结构 一:集合框架的概述 1.集合、数组都是对多个数据进行存储的结构 简称java容器 说明:此时的存储,主要还是内存层面的存储,不涉及持久化存储(数据库、硬盘等等) 2.数组在存储多个数据方面的特点: 》一旦初始化以后,长度就确定了 》指明数组的数据类型 例如:string[
阅读全文
摘要:窗口滑动算法 简介 滑动窗口算法思想是非常重要的一种思想,可以用来解决数组,字符串的子元素问题。它可以将嵌套循环的问题,转换为单层循环问题,降低时间复杂度,提高效率。 滑动窗口的思想非常简单,它将子数组(子字符串)理解成一个滑动的窗口,然后将这个窗口在数组上滑动,在窗口滑动的过程中,左边会出一个元素
阅读全文
摘要:#数组去重 ##问题描述: 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有
阅读全文
摘要:##HashMap Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复;键值对存放无序。 HashMap常用方法 ##put/get 方法 1.put(K key, V value) 将键(ke
阅读全文