自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 LeetCode 热题 100-49. 字母异位词分组

首先是怎么找出字母相同的数组,简单思路就是把单词中的每个字母对应的ASCII值加起来,这样做的问题也很明显,会出现单词不一样,但是加起来的值一样,做了改进对字母的ASCII值做平方再相加,目的是为了两个字母的差值更大,减小单词不一样,值加起来一样的概率,但是这个不是正确解决思路,只是一种投机行为,这种方式只能减小但不能完全消除,所以按照这个思路的代码通过了107 / 120个测试用例。输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]输出: [[“”]]

2023-10-08 11:18:58 213

原创 路径总和 III——力扣刷题2021-09-28

题目链接路径总和 III思路二叉树的深度遍历,穷举所有可能代码class Solution { public int pathSum(TreeNode root, int targetSum) { if(root == null) return 0; int path += path(root,targetSum); path += pathSum(root.left,targetSum); path

2021-09-28 15:16:45 231

原创 字符串第二大的数字——力扣刷题2021.9.26

原题链接细节问题注意当判断值与第一大值相等时的特殊情况代码public class Solution { public int secondHighest (String s) { if(s == null || s.length() ==0) return -1; char[] chars = s.toCharArray(); int max1 = -1; int max2 = -1; .

2021-09-27 09:37:16 271

原创 扁平化多级双向链表——力扣打卡2021.9.24

题目多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。给你位于列表第一级的头节点,请你扁平化列表,使所有结点出现在单级双链表中。示例 1:思路转换题目,可以将题作为双向链表插入多段链表来做遍历链表,遇到子链表将其插入到父链表中代码/*// Definition for a Node.class Node { public int val

2021-09-24 10:45:52 188

原创 KMP算法

KMP算法暴力解决思路从左到右一个个匹配,如果这个过程中有某个字符不匹配,就跳回去,重新开始匹配。我们可以这样初始化:代码public class KMP { public static int kmp(String a,String b){ char[] arr = a.toCharArray(); char[] brr = b.toCharArray(); for (int i = 0; i < arr.length; i

2021-09-23 15:22:50 189

原创 BST树(二叉搜索树、二叉排序树)

BST树(二叉搜索树、二叉排序树)BST树概念什么是BST树一棵空树或者是具有下列性质的二叉树:​ 每个结点都有一个作为搜索依据的关键码( key ) ,所有结点的关键码互不相同​ 左子树(如果存在)上所有结点的关健码都小于根结点的关键码​ 右子树(如果存在)上所有结点的关键码都大于根结点的关键码​ 左子树和右子树也是二叉搜索树示例:​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yoOHrxcw-1632036891681)(C:\Users\胡东昇

2021-09-19 15:35:10 1174 2

原创 华为机试——坐标移动

细节点利用异常来处理位移的转换代码import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int x = 0; int y = 0; String s = in.nextLine(); ArrayList<String>

2021-09-19 15:25:35 162

原创 递归、非递归、单向、单链表——快排

快速排序非递归快排import java.util.Arrays;import java.util.Stack;public class QuickSort { public static int[] sort(int[] arr){ Stack<Integer> stack = new Stack<>(); //左边界 stack.push(0); //右边界 stack.push(a

2021-09-16 11:04:42 176

原创 牛客网剑指offer——Java题解

剑指offerJZ1 二维数组中的查找题目描述在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。0 <= array.length <=

2021-09-07 21:28:57 742 1

原创 JVM知识点思维导图

2021-08-18 22:09:14 112

原创 MySQL知识点思维导图

2021-08-14 22:34:10 215

原创 Java集合——Map

Map类继承框架四者比较HashMap继承结构public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable主要属性//默认初始化容量static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka.

2021-08-14 00:11:20 145

原创 Java多线程思维导图

2021-08-14 00:04:11 198

原创 Java基础知识思维导图

2021-07-29 10:05:47 115 1

原创 两个int类型数据交换的神级操作

都能想到的操作申请辅助空间进行交换public void swap(int a,int b){ int temp = a; a = b; b = temp;}神操作利用异或的运算法则归零律:a ^ a = 0恒等律:b ^ 0 = b交换律:a ^ b = b ^ apublic void swap(int a,int b){ a = a ^ b; b = a ^ b; a = a ^ b;}先看一下运行过程public static void swap(

2021-07-29 09:58:41 396

原创 Java集合——List

List结构图三者比较 ArrayList Vector LinkedList 数据结构 数组 数组 链表 元素 可重复 可重复 可重复 扩容 1.5倍 默认1倍扩容 不需要 优点 查询快 查询快 查询慢 缺点 增删慢 增删慢 增删快 安全性 不安全 安全,但效率低 不安全 ArrayList源码继承关系public class

2021-07-28 22:39:00 202 1

原创 剑指offer——二叉搜索树和双向链表

JZ26 二叉搜索树和双向链表题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。题解1. 非递归思路模拟二叉树的中序遍历,在遍历时记录前驱节点,将中序遍历打印节点的操作改为转换节点指针指向。注意:对第一个节点和其前驱节点不进行调整,会出现空指针异常代码import java.util.Stack;/**public class TreeNode { int val = 0; TreeNode lef

2021-05-25 00:22:49 110

原创 数据库——牛客题霸SQL篇之通关秘籍1-36

目录1. 查找最晚入职员工的所有信息2. 查找入职员工时间排名倒数第三的员工所有信息3. 查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no4. 查找所有已经分配部门的员工的last_name和first_name5. 查找所有员工的last_name和first_name以及对应部门编号dept_no7. 查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t8. 找出所有员工当前具体的薪水salary情况10. 获取所有非manager的员工emp_no1. 查找最晚

2021-04-19 17:52:55 290

原创 剑指offer——删除链表中的重复节点

目录题目描述思路代码结果题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路在遍历单链表的时候,记录当前节点的上个节点位置,并且检查当前节点与下一点是否为相同值,如果相同,当前节点继续向后遍历查找相同值的最大长度,然后指针改变指向,难点在于首节点重复节点删除,解决办法就是new个新节点将链表链在新节点上。时间复杂度

2021-04-19 12:16:08 458

原创 MySql——JDBC使用

package com.xatu.mysql;import java.sql.*;public class TestJDBC { public static void main(String[] args) { Connection connection = null; try { //加载使用数据库的驱动 Class.forName("com.mysql.jdbc.Driver"); /

2021-04-08 13:11:34 183

原创 剑指offer——二维数组中的查找

目录题目描述思路代码结果题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。思路基于二分的思想:非法输入处理特殊情况处理,targert<arra

2021-03-30 23:31:21 87

原创 JavaIO网络模型——异步IO(AIO)

目录简介过程特点应用简单实现简介过程特点应用简单实现

2021-03-30 18:25:04 2333 2

原创 JavaIO网络模型——多路复用NIO

目录简介过程特点应用简单实现简介过程特点应用简单实现

2021-03-30 18:14:06 316

原创 JavaIO网络模型——阻塞IO(Blocking I/O)

目录简介过程特点应用简单实现简介过程特点应用简单实现

2021-03-30 18:04:05 578

原创 Java数据结构——二叉树

二叉树常见操作先中序建树后中序建树非递归前中后序遍历递归前中后序遍历层次遍历S型层次遍历public class BinaryTree<T> { //节点 static class BTNode<T>{ T data; BTNode<T> leftchild; BTNode<T> rightchild; public BTNode(){} pu

2021-03-27 22:15:23 119

原创 剑指offer——链表中环的入口节点

目录题目思路代码结果题目给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路我们都知道如果链表有环用指针去遍历链表会进入环中,这是我们就可以考虑用双指针去判断链表是否有环,然后再借用数学中的追及相遇路程问题找到入口,下图是一个有环的链表,下面的思路以这个图来说明(本题中快指针只比慢指针多走一圈,实际情况也可能会有多几圈的情况)用快慢指针法,两个指针会在环中相遇,假设相遇点为C点,那么quick指针走的路程为s(quick)=AB+BC+CDB+BC,slow指针走的路

2021-03-26 13:06:59 106

原创 JavaI/O系统——概述

目录思维导图流流是什么流的作用流的分类字节流字符流思维导图流流是什么计算机中的流其实是一种信息的转换。通常把对象接收外界数据的信息输入称为输入流,对应的从对象向外界输出的信息称为输出流,合成为输入/输出流(I/O Streams)。流的作用流是一种抽象的概念,对象之间需要进行数据交换时,总是先将数据转换为某种形式的流,再通过流的传输到达目的对象后将流转换为数据。所以,可以说流是数据的载体,通过它可以实现数据交换和传输。流传输的过程可以想象为,工厂中的大型机械运输的过程,因为大型机械的运输

2021-03-18 21:31:45 154

原创 JavaIO——字符流

目录一级目录一级目录一级目录一级目录一级目录一级目录

2021-03-18 21:30:38 102

原创 JavaIO——字节流

目录概述Java的标准输入/输出(System.in/System.out)概述Java的标准输入/输出(System.in/System.out)

2021-03-18 17:13:41 114

原创 关系数据库范式

目录什么是范式第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(1NF)第四范式(1NF)第五范式(1NF)什么是范式概念:设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。种类:目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。范式之间的关系范式的特点优点1.

2021-03-13 15:25:10 1019 1

原创 剑指offer——和为S的两个数字

目录题目思路代码结果题目输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。思路代码import java.util.ArrayList;public class Solution { public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { ArrayList<Integer> arrayLi

2021-03-13 10:10:19 120

原创 剑指offer——替换空格

目录题目思路代码结果题目请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路将字符串转为一个字符数组,遍历数组找到“ ”换为“%20”,利用Java中StringBuilder的特点,将字符串重新拼接。代码import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规

2021-03-11 18:16:48 69

原创 Java网络编程——TCP、UDP编程

目录SocketTCP面向连接的TCP1.TCP概念2.TCP特点3.TCP报文段格式3.TCP连接管理TCP编程模拟实现UDP无连接的UDPUDP编程模拟实现SocketTCP面向连接的TCP1.TCP概念传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议2.TCP特点面向连接的传输层协议,使用前必须先建立TCP连接,传输后释放TCP连接通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点可靠

2021-03-11 17:45:52 450

原创 剑指offer——矩形覆盖

目录题目思路代码结果题目我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路对于很多递归问题,我们都可以通过归纳总结来找出他们的规律:当n=1时,way=1(横或竖)当n=2时,way=2(全横或全竖)当n=3时,way=3(全竖&横横竖&竖横横)当n=4时,way=5(全竖&全横&竖横横竖&竖竖横横&横横竖竖)当n=5时,way=8(全竖&竖横横竖竖&amp

2021-03-04 19:57:29 152 1

原创 Java多线程——线程生命周期、常用方法

这里写目录标题一级目录一级目录

2021-03-04 09:33:34 353

原创 MySql——登陆、创建、删除、退出

这里写目录标题数据库登陆数据库的创建数据库删除数据库登陆数据库的创建数据库的命名:数据库删除

2021-03-01 14:03:20 229

原创 Java多线程——守护线程

这里写目录标题线程优先级守护线程线程优先级定义:现代操作系统基本采用时分的形式调度运行的线程。线程分配到的时间片多少也就决定了线程使用CPU资源的多少,而线程优先级就是决定线程需要多或者少分配一些CPU资源的线程属性。守护线程定义:示例特点守护线程是一类比较特殊的线程,一般用于处理后台的工作,比如JDK的垃圾回收线程什么守护线程?为什么会有守护线程?何时需要守护线程?明确:JVM什么情况下退出?The java virtual machine exits

2021-02-11 16:51:56 265 2

原创 剑指offer——从尾到头打印链表

题目输入一个链表,按链表从尾到头的顺序返回一个ArrayList。题解思路代码/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;import java.u

2021-02-11 15:58:48 99 1

原创 Mysql——简介

目录什么是数据库管理系统( DBMS )什么是MysqlMysql特点面试题什么是数据库管理系统( DBMS )什么是MysqlMysql特点面试题

2021-01-30 16:10:40 534

原创 Java数据结构——队列

public class MyQueue<T> { //队列顺序存储 private T[] arrays; //队首位置 private int head; //队尾位置 private int tail; //队内有效个数 private int size; //常量 private static final int CAPACITY = 10; //初始化 public MyQueue

2021-01-30 14:36:41 99

牛客网剑指offer——Java题解.pdf

牛客网剑指offer——Java题解.pdf

2021-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除