自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【剑指 offer 第二版 】Java 代码解析(2021 03 25更新)

这里写自定义目录标题剑指 offer 03:数组中重复的数字题目描述解题思路+代码实现方法一: 排序+for循环方法二:HashSet方法三:原地交换剑指 offer 03:数组中重复的数字题目描述找出数组中重复的数字。(传送门)在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3

2020-12-29 11:45:29 210 3

原创 Go语言快速入门

Golang 执行流程分析如果是对源码编译之后,在执行,Go的执行流程如下图:如果我们是对源码直接执行 go run 源码,Go的执行流程如下图:两种执行流程的区别如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有Go开发环境的机器上,仍然可以运行。如果我们是直接 go run 源代码,那么如果需要在另一台机器上运行,也需要go开发环境,否则无法执行。在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以可执行文件变大了很多。编译和运行说明编译

2021-04-19 21:53:26 7

原创 Java 内存区域详解

Java 内存区域详解写在前面 (常见面试题)基本问题拓展问题一 概述二 运行时数据区域2.1 程序计数器2.2 Java 虚拟机栈2.3 本地方法栈2.4 堆2.5 方法区2.5.1 方法区和永久代的关系2.5.2 常用参数2.5.3 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢?2.6 运行时常量池2.7 直接内存三 HotSpot 虚拟机对象探秘3.1 对象的创建Step1:类加载检查Step2:分配内存Step3:初始化零值

2021-04-17 23:58:07 2

原创 【MySQL】char 和 varchar 的区别

前提假设使用的存储引擎是InnoDB或者MyISAM。varchar 类型varchar 类型用于存储可变长字符串,是最为常见的字符串数据类型。(它比定长类型更节省空间)varchar 需要使用 1 或者 2个 额外的字节记录字符串的长度。(如果列的最大长度小于或等于255字节,则只使用1个字节表示,否则使用2个字节。比如·:一个VARCHAR(10)的列需要11个字节的存储空间。VARCHAR(1000)的列则需要1002个字节,因为需要2个字节存储长度信息。)varchar 节省了存储空

2021-04-06 10:57:33 41 1

原创 初识Go语言

Go语言的优势可直接编译成机器码,不依赖其他库,glibc 的版本有一定要求,部署直接上传文件即可静态类型语言,就是可以在编译的时候检查出很多隐藏的错误,写起来效率高语言层面支持并发,可以充分的利用多核,很容易的使用并发。内置 runtime ,支持垃圾回收。25个关键字:支持继承、重载、对象等。丰富的标准库内置很多工具链跨平台编译内嵌C支持应用场景服务器编程分布式系统、数据库代理器等网络编程内存数据库云平台...

2021-04-05 18:26:05 31

原创 【每日一题】力扣106.从中序与后序遍历序列构造二叉树

题目描述(传送门)根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7解题思路&代码实现二叉树遍历 已知先序、中序结果构造二叉树/** * @ClassName leetcode106 * @Description :TODO

2021-03-31 12:11:01 15

原创 【每日一题】力扣110.平衡二叉树

题目描述(传送门)给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true解题思路&代码解析/** * @ClassName leetcode110

2021-03-30 16:57:56 10

原创 【每日一题】力扣101.对称二叉树

题目描述(传送门)给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3解题思路&代码解析/** * @ClassName leetcode101 * @Description :TODO * @Autho

2021-03-30 16:15:22 3

原创 【每日一题】力扣572.另一个树的子树

题目描述(传送门)给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。示例 2:给定的树 s: 3 / \ 4 5 /

2021-03-30 15:45:51 3

原创 【数据库】脏读、不可重复读、幻读

https://blog.csdn.net/qq_33591903/article/details/81672260

2021-03-28 00:00:56 19 1

原创 常见排序算法总结

插入排序代码import java.util.Arrays;/** * @ClassName InsertSort * @Description :TODO * @Author Josvin * @Date 2021/03/26/11:07 */// 时间复杂度O(N^2)// 空间复杂度;O(1)// 稳定性:稳定排序(如果排序数组中有两个元素的值是相等的,如果排序后两个相等的元素的相对顺序是一样的,这样的排序称为稳定排序。否则就是不稳定的。)public class In

2021-03-27 21:38:20 17

原创 Java 关键字总结

Java 关键字总结访问控制 修饰符的关键字(共3个)1、private-一种访问控制方式:私用模式(当前类内)2、protected-一种访问控制方式:保护模式(当前包内)3、public-一种访问控制方式:共用模式(可跨包)定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(共6个)1、abstract-表明类或者成员方法具有抽象属性2、implements-表明一个类实现了给定的接口3、new-用来创建新实例对象4、interface-接口5、class-声明一个类6、e

2021-03-27 00:06:28 8

原创 UUID学习笔记

什么是UUID?UUID是通用唯一识别码(Universally Unique Identifier)如何生成UUID?import java.util.UUID;/** * @ClassName Test * @Description :TODO * @Author Josvin * @Date 2021/03/19/11:02 */public class Test { public static void main(String[] args) { UU

2021-03-23 20:42:38 22

原创 【MySQL必知必会读书笔记】第四章:检索数据

第四章:检索数据4.1 SELECT 语句4.2 检索单个列4.3 检索多个列4.3 检索所有列4.5 检索不同的行4.6 限制结果4.7 使用完全限定的表名4.1 SELECT 语句4.2 检索单个列select title from music;4.3 检索多个列select title,singer from music;4.3 检索所有列select * from music;4.5 检索不同的行 select vend_id from products; se

2021-03-18 11:08:18 13

原创 MySQL必知必会附录B示例表的创建代码

https://forta.com/books/0672327120/建表:######################################### MySQL Crash Course# http://www.forta.com/books/0672327120/# Example table creation scripts################################################################# Create cus

2021-03-18 10:47:10 5

原创 2021阿里实习生笔试(2021-3-15)

第一题题目大概就是给你三个数a,b,c 然后对a 和 b二进制位操作。一次操作只能是对其中任意一个数的二进制位进行取反。就是问你经过最少的操作使得a|b=c.代码实现package com.fwh;import java.util.Scanner;/** * @ClassName Main * @Description :TODO * @Author Josvin * @Date 2021/03/15/19:05 */public class Main { public s

2021-03-16 09:51:47 896 2

原创 【MySQL必知必会读书笔记】第三章:使用 MySQL

第三章:使用 MySQL3.1 连接3.2 选择数据库3.3 了解数据库和表3.1 连接3.2 选择数据库use musicserver;3.3 了解数据库和表show databases;--返回数据库的一个列表show tables;--返回当前选择的数据库内可用表的列表。在执行前必须选择一个数据库,否则会出现如下错误:show columns from music;--它对每一个字段返回一行,行中包括字段名、数据类型、是否允许null、键信息、默认值以及其他信息比如:字

2021-03-12 11:53:03 11

原创 【MySQL必知必会读书笔记】第二章:MySQL简介

第二章:MySQL简介2.1 什么是MySQL2.1.1 客户机-服务器软件2.1.2 MySQL 版本2.2 MySQL 工具2.2.1 mysql 命令行实用程序2.2.2 MySQL Administrator2.2.3 MySQL Query Browser2.1 什么是MySQL数据库的所有存储、检索、管理和处理实际上是由数据库软件–DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即它是一种数据库软件。成本–MySQL是开放源代码的,一般可以免费使用性能–MySQL执行很快(

2021-03-12 11:23:17 15

原创 【MySQL必知必会读书笔记】第一章:了解SQL

第一章:了解SQL1.1 数据库基本操作1.1.1 什么是数据库1.1.2 表1.1.3 列和数据类型1.1.4 行1.1.5 主键1.2 什么是SQL1.1 数据库基本操作1.1.1 什么是数据库数据库:保存有组织的数据容器(通常是一个文件或一组文件)。1.1.2 表表(table):某种特定类型数据的结构化清单。模式(schema):关于数据库和表的布局及特性的信息。1.1.3 列和数据类型列(column):表中的一个字段。所有表都是由一个或多个列组成的。·(数据库的每一个列

2021-03-12 10:24:13 32

原创 ArrayList实现

APIhttps://docs.oracle.com/javase/8/docs/api/实现MyListpackage MyArrayList;/** * @ClassName MyList * @Description :TODO * @Author Josvin * @Date 2021/03/08/12:34 */public interface MyList { boolean add(Integer e); void add(int index, Int

2021-03-09 16:08:42 45 2

原创 ArrayList练习(扑克牌模拟)

Card类package card;import java.util.Objects;/** * @ClassName Card * @Description :TODO * @Author Josvin * @Date 2021/03/06/13:48 */public class Card { private final int rank; private final String suit; public Card(int rank, String su

2021-03-06 14:50:27 23 1

原创 【Java项目实战】手把手教学:idea如何创建一个maven项目

需求分析项目结构数据库设计创建maven项目填写组织名称、产品名称及版本号:如果下载太慢或者下载不下来可以修改一下中央仓库镜像。还有路径尽量使用英文,我这里没有修改最后也还成功了。参考:将maven源改为国内阿里云镜像第一次创建maven的时候会比较慢,因为需要从中央仓库下载大量的依赖。出现如上即创建成功。...

2021-02-22 18:42:46 154 1

原创 【Java项目实战】在线音乐播放器(从需求到产品完整解析)

准备工作必看:【项目实战】在线音乐系统第一天:创建一个Web项目&环境准备核心功能登录、注册上传音乐删除某一个音乐信息删除选中的音乐信息查询音乐(包含查找指定/模糊匹配的音乐)添加音乐到“喜欢列表”。查询喜欢的音乐(包含查找指定/模糊匹配的音乐)重要知识点简单的Web服务器设计能力Java 操作 MySQL 数据库数据库设计json 的使用强化 HTTP 协议的理解Servlet 的使用Java集合的使用前端知识的简单使用如:HTML+CSS+JS最终效果

2021-02-21 22:09:56 331 2

原创 【Java项目实战】在线音乐播放器(前期准备)

1、创建Web项目按照以下截图操作即可:2、配置Tomcat容器首先我们要安装好Tomcat:Tomcat详细安装过程3、自动编译设置4、idea 编码设置5、数据库准备环境准备:MySQL详细安装过程

2021-02-17 22:12:07 69

原创 Tomcat详细安装过程

官网下载tomcat下载地址:传送门tomcat和servlet版本要对应。在这里选择Tomcat8版本。点击下载即可。解压运行start.bat点击启动。正常启动!!!

2021-02-17 20:43:58 64

原创 MySQL详细安装过程

第一步:下载Mysql下载地址在这里根据自己需求,在这里我选择5.7.27版本第二步:解压后新建my.ini文件[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port=3306# 设置mysql的安装目录basedir=D:\mysql-5.7.27-winx64# 设置mysql数据库的数据的存放目录datadir=D:\mysql-5.7.27-winx64/data# 允许最大连接

2021-02-17 19:35:12 2086 2

原创 【小象算法】第四讲:分治和归并

预备知识归并两个已排序数组已知两个已排序数组,将这两个数组合并为一个排序数组。package com.wenhui.lession4;import java.util.Arrays;/** * @ClassName Test * @Description :TODO * @Author Josvin * @Date 2021/02/11/18:14 */public class Test { public static void merge_sort_two_array(

2021-02-11 18:34:01 42 2

原创 【回溯算法】leetcode51.N皇后

题目描述(传送门)n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]解释:如上图所示,4 皇后问题存在两个不同的解法。示

2021-02-11 00:45:35 814 1

原创 【回溯算法】leetcode22.括号生成

题目描述(传送门)数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]思考递归生成所有可能package com.wenhui.lession4;import java.util.LinkedList;import java.util.List;import jav

2021-02-10 21:43:39 28 2

原创 【回溯算法+Set+剪枝】leetcode40.组合总和II (Java超时了)

题目描述(传送门)给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[ [1, 7], [1, 2, 5], [2, 6], [1, 1, 6]]

2021-02-09 00:07:22 31

原创 【回溯算法】leetcode90.子集II

题目描述(传送门)给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]思考这道题与之前子集不同的是有了重复元素。算法思路解题思路&代码解析【回溯算法】leetcode78.子集我们只需要对昨天代码做两部改进:对原始数组进行排序对子集借助Set去重【小象算法Java版】第

2021-02-07 22:55:47 31 1

原创 【图解TCP_IP读书笔记】第六章:TCP和UDP

第六章:TCP和UDP6.1 传输层的作用6.1.1 传输层定义6.1.2 通信处理6.1.3 两种传输层协议TCP和UDP6.1.4 TCP与UDP区分6.2 端口号6.2.1 端口号定义6.2.2 根据端口号识别应用6.2.3 通过IP地址、端口号、协议号进行通信识别6.2.4 端口号如何确定6.2.5 端口号与协议6.3 UDP6.4 TCP6.4.1 TCP的特点及其目的6.4.2 通过序列号与确认应答提高可靠性6.4.3 重发超时如何确定6.4.4 连接管理6.4.5 TCP以段为单位发送数据6.

2021-02-07 21:45:14 30

原创 【227周赛】leetcode5672. 检查数组是否经排序和轮转得到

题目描述(传送门)给你一个数组 nums 。nums 的源数组中,所有元素与 nums 相同,但按非递减顺序排列。如果 nums 能够由源数组轮转若干位置(包括 0 个位置)得到,则返回 true ;否则,返回 false 。源数组中可能存在 重复项 。注意:我们称数组 A 在轮转 x 个位置后得到长度相同的数组 B ,当它们满足 A[i] == B[(i+x) % A.length] ,其中 % 为取余运算。示例 1:输入:nums = [3,4,5,1,2]输出:true解释:[1,2,

2021-02-07 13:48:14 60 5

原创 【回溯算法】leetcode78.子集

题目描述(传送门)给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]回溯法回溯法又称为试探法,但当探索到某一步时,发现原先选择达不到目标,就退回一步重新选择,这种走不通就退回再走的算法就叫做回溯法。

2021-02-06 21:50:54 51

原创 【图解TCP_IP读书笔记】第五章:DHCP&NAT&IP隧道

第五章:DHCP5.5 DHCP5.5.1 DHCP实现即插即用5.5.2 DHCP 的工作机制5.5.3 DHCP中继代理5.6 NAT5.6.1 NAT定义5.6.2 NAT的工作机制5.6.3 NAT-PT(NAPT-PT)5.6.4 NAT的潜在问题5.6.5 解决NAT的潜在问题与NAT穿越5.7 IP隧道5.5 DHCP5.5.1 DHCP实现即插即用逐一为每一台主机设置IP地址会非常繁琐。为了实现自动设置IP地址,同一管理IP地址分配,就产生了DHCP (Dynamic Host Con

2021-02-05 22:20:31 68 1

原创 【贪心算法】poj 2431: Expedition(最优加油方法)

题目描述(传送门)DescriptionA group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and puncture the truck’s fuel tank. The truck now leaks one unit of fuel

2021-02-05 20:48:32 62 1

原创 【贪心算法】leetcode452.用最少数量的箭引爆气球

题目描述(传送门)在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全

2021-02-05 17:36:15 69 4

原创 【贪心算法】leetcode45. 跳跃游戏II

题目描述(传送门)给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。解题思路&代码实现思考从第0位置,最少需要跳几次达到最后一个位置?如果希望最少跳跃达到终点,则需要明确何时进行跳跃是最合

2021-02-04 22:39:02 996 1

原创 【贪心算法】leetcode55. 跳跃游戏

题目描述(传送门)给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可

2021-02-04 21:26:23 90 4

原创 【图解TCP_IP读书笔记】第五章:ICMP

第五章:ICMP5.4 ICMP5.4.1 辅助 IP的ICMP5.4.2 主要的ICMP消息5.4.3 其他 ICMP 消息5.4.4 ICMPv65.4 ICMP5.4.1 辅助 IP的ICMP**ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。**在IP通信中如果某个IP包因为某种原因未能到达目标地址,那么这个具体原因将由ICMP负责通知。如下图,主机A向主机B发送了数据包,由于某种原因,途中的路由器2未能发现主机B的存在,

2021-02-04 18:19:07 35

图像重建 网络去雾.pptx

Gated Fusion Network for Single Image Dehazing 文献学习汇报ppt

2020-05-08

空空如也

空空如也

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

TA关注的人 TA的粉丝

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