自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 算法刷题及总结_数组篇拓展

算法刷题及总结_数组篇拓展1.剑指 Offer 03. 数组中重复的数字【难度指数:★☆☆】题目描述在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000方法一(暴力法)解题思路没什么好说的,暴力法,双循环解决。[]( ̄▽ ̄)*

2021-02-14 14:54:00 327

原创 算法刷题及总结_数组篇

二分法//算法总结//第一部分:数组相关/***Leetcode题目35:搜索插入位置*给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。*示例 1:*输入: [1,3,5,6], 5*输出: 2**示例 2:*输入: [1,3,5,6], 2*输出: 1*///解法一:暴力法 | 时间复杂度:O(n) 空间复杂度:O(1)public int searchInsert(int[] nums, int tar

2021-02-08 17:06:45 160

原创 Spring精华个人总结

Spring精华个人总结Spring框架概述Spring是轻量级的开源的JavaEE框架Spring可以解决企业应用开发的复杂性Spring有两个核心部分: IOC 和AOP:IOC: 控制反转,把创建对象过程交给Spring进行;AOP: 面向切面,不修改源代码进行功能增强。Spring特点方便解耦,简化开发;AOP编程支持;方便程序测试;方便和其他框架进行整合;方便进行事务操作;6)降低API开发难度。Spring入门案例背景:通过IDEA创建好一个普通

2021-07-14 16:15:31 144

原创 自顶向下理解Java网络编程

自顶向下理解Java网络编程1.网络基础网络编程的目的:直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。网络编程中有两个主要的问题:如何准确地定位网络上一台或多台主机;定位主机上的特定的应用;找到主机后如何可靠高效地进行数据传输。2.网络通信要素概述通信双方地址:IP,端口号。一定的规则:(网络通信协议)OSI参考模型;TCP/IP协议。3.IP基本理解IP地址分类方式一:IPV4和IPV6。IP地址分类方式二:公网地址(万维网使用)和私有地址(局域

2021-07-02 17:23:03 192 1

原创 JavaIO

JavaIO1.File实例化/** 1.如何创建File类的实例 File(String filePath) File(String parentPath, String childPath) File(File parentFile, String childPath) File(URI uri) 2. 相对路径:相较于某个路径下,指明的路径。

2021-07-02 12:59:59 156

原创 Java常用类

Java常用类字符串相关的类:StringString的特性String类代表字符串,Java程序中所有字符串都是该类的实例化对象;String是一个final类,代表不可变的字符序列且不可被继承;字符串是常量,一旦创建无法更改,并用双引号括起来;String对象的字符内容是存储在一个字符数组value[ ]中的;String实现了Serializable接口:表示字符串是支持序列化的;实现了Comparable接口:表示String可以比较大小;当对字符串重新赋值时,需要重新指定内存区

2021-06-30 05:05:25 121 2

原创 Java中枚举类和注解

Java枚举类和注解1.枚举类的使用类的对象只有有限个,确定的。当需要定义一组常量时,强烈建议使用枚举类。如果枚举类只有一个对象,则可以作为一种单例模式的实现方式。如果枚举类中只有一个对象,则可以作为单例模式的实现方式。2.定义枚举类方式一:jdk5.0之前,自定义枚举类public class SeasonTest { public static void main(String[] args) { Season spring = Season.SPRING;

2021-06-30 05:04:10 157 3

原创 深入浅出Java集合

深入浅出Java集合1.集合框架概述集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组在存储多个数据方面的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[] arr; int[] arr1; Object[] arr2;数组在存储多个数据方面的缺点:一旦

2021-06-30 05:00:43 240 3

原创 Java多线程精华

Java多线程精华基本概念:程序、进程、线程程序 是用某种语言编写的一组指令的集合。是指一组静态的代码,静态对象。进程 是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程,有自身的产生、存在和消亡的过程,即生命周期。(程序是静态的,进程是动态的)进程作为资源分配的单位,系统在运行时为每个进程分配不同的内存区域。进程可以细化为线程,是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的。线程作为调度和执行的单位,每个线程拥有独立的运行站和程序计数器(PC)

2021-06-23 16:03:55 71

原创 关于二叉树的一些有趣问题

关于二叉树的一些有趣问题leetcode341扁平化嵌套列表迭代器不难发现:class NestedInteger { Integer val; List<NestedInteger> list;}/* 基本的 N 叉树节点 */class TreeNode { int val; TreeNode[] children;}所以其实输入的就是一个类似于n叉树的结构。所要求的结果就是叶子结点的遍历结果。那么现在这个数据结构里面有两种形式,一种是整

2021-06-23 15:50:07 103

原创 序列化和反序列化——二叉树中的应用

序列化和反序列化——二叉树中的应用前序遍历实现序列化String SEP = ",";String NULL = "#";/* 主函数,将二叉树序列化为字符串 */public String serialize(TreeNode root) { StringBuilder sb = new StringBuilder(); serialize(root, sb); return sb.toString();}/* 辅助函数,将二叉树存入 StringBuilder

2021-06-23 15:48:53 59

原创 二叉树经典算法总结

二叉树经典算法总结二叉树和经典算法的关系实际上,快速排序就是个二叉树的前序遍历,归并排序就是个二叉树的后序遍历。下面详细说明。快速排序的逻辑是,若要对 nums[lo..hi] 进行排序,我们先找一个分界点 p,通过交换元素使得 nums[lo..p-1] 都小于等于 nums[p],且 nums[p+1..hi] 都大于 nums[p],然后递归地去 nums[lo..p-1] 和 nums[p+1..hi] 中寻找新的分界点,最后整个数组就被排序了。代码框架void sort(int[] nu

2021-06-23 15:47:43 520

原创 浅谈Java异常处理

浅谈Java异常处理异常概述和体系结构异常定义在Java中将程序执行中发生的不正常情况称为“异常”。注意:开发过程中的语法错误和逻辑错误不是异常。Error:Java虚拟机无法解决的严重问题,如JVM系统内部错误、资源耗尽等严重情况。例如StackOverflowError,OOM。Exception:其他因编程错误或者偶然的外在因素导致的一般性问题,可以使用针对性代码处理。例子:空指针访问,试图读取不存在的文件等等。异常分类编译时异常运行时异常异常处理方法概述异常的处理:抓抛

2021-06-23 15:46:14 61

原创 Java面向对象复习笔记

Java面向对象复习笔记一、Java内存简单解析二、属性(成员变量)VS局部变量相同点定义变量的格式相同:数据类型 变量名 = 变量值;先声明,后使用。变量都有其对应的作用域。不同点在类中声明的位置不同,属性是直接定义在类的一对{}内,而局部变量生命在方法内、方法形参、代码块内、构造器形参、构造器内部变量;权限修饰符不同。声明属性时指明其权限,局部变量不可以使用权限修饰符。属性是有默认初始化值,而局部变量没有初始化值,所以必须声明初始值。特别地,形参调用时在方法()里面直接赋值即

2021-05-14 14:55:32 98 6

原创 字符串刷题笔记

字符串刷题笔记541.反转字符串 II代码实现class Solution { public String reverseStr(String s, int k) { char[] a = s.toCharArray(); int i = 0; int j = 0; char tmp; for (int start = 0; start < a.length; start += 2 * k) { i

2021-05-01 09:07:09 102 1

原创 哈希表刷题笔记

哈希表刷题笔记1.LeetCode242有效的字母异位词——easy解题思路由于异位词都是由各个字符重复组成,所以为想到采用哈希表来存储数据方便比较,但是直接比较两个哈希表麻烦,所以想到先记录所需要比较的字符串,再用target字符串进行遍历删减哈希表,看最终哈希表的size是否为0即可,当然要是初始化好的哈希表不存在某一个target中的字符,可以直接退出遍历返回false。代码如下:代码实现class Solution { public boolean isAnagram(String

2021-05-01 09:05:39 134 1

原创 链表篇刷题模板总结一

链表篇刷题模板总结一一、递归反转整个链表解决思路为了有效解决可以采用迭代或者是递归的思想,这里主要探讨递归。毕竟人理解迭代,神理解递归哈哈。当然很多人说不要进入递归内部,不然会被绕晕,但是很多童鞋就是想不明白里面的原理,所以导致很难受(本人同感),所以这里也会代入到递归函数内部,讲一讲里面的原理。递归的三大要素第一要素:明确你这个函数想要干什么即函数的功能是什么第二要素:寻找递归结束条件即找出当参数为啥值时,结束递归,把结果返回第三要素:找出函数的等价关系式即不断缩小参数的范围对于递归

2021-04-10 17:22:46 130

原创 数组篇刷题模板总结五——数组去重

数组篇刷题模板总结五——数组去重LeetCode316题目描述代码实现class Solution { public String removeDuplicateLetters(String s) { // 声明计数器,因为是ASCII码,所以256够用 int[] count = new int[256]; // 声明单调栈 Stack<Character> stk = new Stack<>();

2021-04-01 10:59:18 114

原创 数组篇刷题模板总结四_其他技巧

数组篇刷题模板总结四——其他技巧常数时间插入、删除和获取随机元素题目描述解题思路根据题目要求,在查找时需要O(1)的时间复杂度,想到数组可以通过索引实现;但是删除和增加元素的话,除了数组末尾,其他地方进行两种操作都需要移动其他元素来实现。所以想到哈希表来辅助实现。代码实现class RandomizedSet { /** Initialize your data structure here. */ Map<Integer, Integer> dict; L

2021-04-01 10:58:09 107

原创 饕餮盛宴——滑动窗口(尺取法)

饕餮盛宴——滑动窗口(尺取法)注意:此章节作为复习使用,直接代码实现,不写思路。LeetCode1004代码实现class Solution { public int longestOnes(int[] A, int K) { int left = 0; int right = 0; int len = 0; // 0计数器 int K1= 0; int nums = 0; wh

2021-03-29 15:14:21 190

原创 Java基础复习笔记——语法

Java基础复习笔记——语法参考JavaGuide,总结笔记,滚动复习。1.Java八大基本数据类型?注意:为什么在Java中数组被视为引用类型?解答:因为除了基本数据类型其他都是引用类型;此外,数组是一族类型,继承自System.Array,而System.Array又继承自System.Object,故数组应该也属于引用类型。2.标识符命名规则?标识符是由字母,数字,下划线以及美元符号$组成的字符序列;标识符必须以字母,下划线或者$开头,不能以数字开头命名;标识符不能是保留字,关键字

2021-03-27 08:35:39 110

转载 Java基础复习笔记——基础概念和常识

Java基础复习笔记——基础概念与常识参考JavaGuide,总结笔记,滚动复习。1.Java语言有哪些特点?简单易学省略C++中所有难以理解,容易混淆的特性,比如指针,头文件,结构,运算符重载,多重继承以及虚拟基础类等等面向对象Java语言中,一切皆对象。分布式处理Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库,因此Java应用程序可以通过URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。健壮性(可靠性)强类型检查,操纵内存,真数

2021-03-27 08:33:07 107

原创 Vue学习笔记day5

Vue复习笔记day5关于webpack从本质上来讲,webpack是一个现代的JavaScript应用的静态打包工具。webpack为了可以正常运行,必须得有node环境。npm(node packages manager)就是包管理工具。webpack.config.js配置由于最终需要打包,所以必须指定打包路径和源代码,而这些事全部是在webpack.config.js文件中完成的。实例如下。const path = require('path')module.exports =

2021-03-17 00:01:27 113

原创 Vue学习笔记day4

Vue复习笔记day41.组件化的实现和使用步骤组件的使用分为3个步骤:创建组件构造器注册组件使用组件代码实现如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <div id="app"> <!--thi

2021-03-15 00:31:28 88

原创 SVN安全证书问题解决方案

SVN安全证书失效解决方案出现问题SVN提示https证书验证失败问题svn: E230001: Server SSL certificate verification failed:解决方法没有安装tortoise SVN的同学自行安装单击鼠标右键,选择SVN Checkout…提示授权失败,之后会有两个选项,都是选择接受授权,有一个是永久接受,任选其一。根据提示输入用户名和密码选择导入项目,自定义路径。重新打开idea,导入项目安装依赖即可。在运行vu

2021-03-13 19:33:08 3113 2

原创 npm安装故障处理

node-sass 安装失败解决方案由于国内网络问题,依赖下载一直存在问题。解决方案如下。方法一 使用淘宝镜像源(推荐)npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/或者设置全局镜像源npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/方法二 使用cnpm 安装cnpm install n

2021-03-13 19:31:25 135

原创 Vue学习笔记day3

Vue复习笔记day31.v-show的使用以及和v-if的区别v-show和v-if作用类似,都能够决定一个元素是否渲染v-if和v-show对比v-if当条件为false时,根本不会有对应的元素在DOM中;v-show当条件为false时,仅仅是将元素的display属性设置为none而已。开发中如何选择呢?当需要在显示与隐藏之间切片很频繁时,使用v-show;(原因也很简单,v-if方式是不断删除创建切片,性能不佳,而v-show仅仅是添加一个行内样式,隐藏元素而已)当只有一

2021-03-13 16:11:37 98

原创 Vue学习笔记day2

Vue复习笔记day21.插值操作:mustache语法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scal

2021-03-13 16:09:00 84

原创 Vue学习笔记day1

Vue复习笔记day11.初识vuejs<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&g

2021-03-13 16:05:31 62

原创 数组篇刷题模板总结三_滑动窗口

数组篇刷题模板总结三——滑动窗口滑动窗口模板public void slidingWindow(string s, string target) { HashMap<Character, Integer> need = new HashMap<>(); HashMap<Character, Integer> window = new HashMap<>(); for (char c : t.toCharArray()) {

2021-03-04 22:49:59 101 1

原创 数组篇刷题模板总结二_双指针

数组篇刷题模板总结——双指针双指针通常出现在数组和链表里面,可以将双指针粗略分为两类,一类是快慢指针,一类是左右指针。前者解决主要解决链表中的问题,比如典型的判定链表中是否包含环;后者主要解决数组(或者字符串)中的问题,比如二分查找。后文将详细探讨和总结。快慢指针快慢指针一般都初始化指向链表的头结点 head,前进时快指针 fast 在前,慢指针 slow 在后,巧妙解决一些链表中的问题。1、判定链表中是否含有环题目描述给定一个链表,判断链表中是否有环。解题思路通过快慢指针进行辅助判断。若链

2021-03-01 22:55:12 92

原创 数据结构——链表和数组

关于数组和链表的基本操作总结/*** 线性表的顺序结构实现* @author masterYHH* Date 2020.08.08*///线性表的结构体:typedef struct LNode *List;struct LNode{ Elemtype Data[MAXSIZE]; int Last;//用来记录顺序表最后一个元素的下标,即a[n-1]}struct LNode L;List PtrL;//初始化List makeEmpty(){ List PtrL =

2021-02-28 19:08:50 98 1

原创 数组篇刷题模板总结一_二分查找

数组篇刷题模板总结一——二分查找二分查找(细节是魔鬼)二分查找模板二分查找可以分为三种格式,此处将三种方式总结为一种通用模板,方便记忆。查找某个数在有序数组中的位置查找某个数在有序数组中的左侧边界查找某个数在有序数组中的右侧边界//查找某个数在有序数组中的位置public int binarySearch(int[] nums; int target) { if (nums.length <= 0) { return -1; } int le

2021-02-28 18:18:37 158 1

原创 hexo-prism-plugin不支持大括号显示修复

hexo-prism-plugin不支持大括号显示修复发现问题在编写博客时,发现hexo自带高亮代码插件不兼容某些js文件,于是将hexo自带的插件更换为hexo-prism-plugin。但是发现花括号无法正常显示,如图所示。解决问题网上查阅资料未果,最终在插件模块源码里面发现花括号没有被写入,遂自行加入。具体路径:Blog\node_modules\hexo-prism-plugin\src\index.js如图所示:添加内容在红框之中。更新之后显示正常。问题解

2021-02-17 00:35:15 694 9

原创 解决git不小心提交大文件导致无法提交问题

发现问题当向github远程仓库push一个大于100MB的文件,会出现一个错误。如图所示。解决问题查阅资料和Stack Overflow找到一些解决方法。(不是下载LFS软件而是取消上次提交结果并重置branch)。调用命令git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch 文件路径;git filter-branch -f --index-filter 'git rm --cached --igno

2021-02-14 23:29:23 1113

原创 本机配置有多个SSH密钥管理方法

1.发现问题生成密钥当在进行github和git配置时,需要在github账户设置里将本地生成SSH密钥添加上。但是由于本人通过阿里云和本地仓库配置过SSH密钥,所以在生成github密钥时发生了冲突。(T ^ T)如图,刚开始我自定义了github即新密钥的名称并且初始化。配置github Key在初始化之后,进入.ssh文件夹,先用ls命令罗列所有密钥。如图~接着通过cat ~/.ssh/id_rsa_github.pub命令展示公钥并复制到github设置里面。设置好之后如图。最后

2021-02-14 17:48:58 337

转载 MyISAM与InnoDB区别总结(转载)

区别:InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构),必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查

2021-02-10 16:12:41 150

原创 数据库SQL语句练习大全

//一些简单的练习语句,随时复习~&&&&&&&&&&&&&&&&&&单表查询&&&&&&&&&&&&&&&&&&&&&&&****************************

2021-02-10 16:10:44 327 1

原创 数据库总结_日志篇

数据库日志(根据HIT战神讲义截取,仅供个人复习)一、事务所涉及到的数据库通常由元素构成,通常一个元素=1个磁盘块也可以更小,等于1条记录或者更大等于1个关系。每个事务都会读写某些元素READ(X,t):将元素X读到事务的局部变量t中;WRITE(X,t):将事务局部变量t写回元素X;INPUT(X):将元素X从磁盘读入到内存缓冲区中;OUTPUT(X):将元素X写回到磁盘中。每个事务都以提交或者撤销结束COMMIT:事务提交ABORT:事务撤销DBMS需要保证事务持久性已提

2021-02-10 16:07:45 349

原创 数据库总结_故障篇

数据库故障学习数据库管理系统的运行方式DBMS利用内存和外存这样的存储体系来进行数据库管理。在内存中,又将其分为程序数据(事务数据)和系统数据。事务是DBMS对数据库进行控制的基本逻辑单元。故障恢复涉及到如何保证原子性和持久性。数据库故障类型事务故障某一个事务自身运行错误所引起的故障,影响该事务本身。系统故障由于断电,非正常关机等引起的故障,影响正在运行的事务以及数据库缓冲区将涉及正在运行和已经运行的事务。介质故障由于介质损坏等所引起的故障,影响是全面的,既影响内

2021-02-10 16:06:26 255 2

数据结构——指针和数组.md

指针和数组的基本操作

2021-02-28

数组篇刷题模板总结一_二分查找.md

算法系列笔记

2021-02-28

算法刷题及总结_数组篇拓展.md

有关算法刷题的笔记总结,囿于CSDNUI不太友好,可以自行下载md文件,用typora阅读。此系列为markdown形式上传,有需要的童鞋可以下载,后续会持续更新更加完善精致的算法笔记系列。

2021-02-14

空空如也

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

TA关注的人

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