自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 两两交换链表中的节点

1.题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。2.示例输入:head = [1,2,3,4]输出:[2,1,4,3]3.解答 public ListNode swapPairs(ListNode head) { //退出递归的条件,头节点为空或者只有一个头节点,则不用交互直接返回 if(Objects.isNull(head)||Objects.isN

2022-03-06 21:59:30 174

原创 括号 生成

题目:数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]代码解析:import java.util.ArrayList;import java.util.List;/** * Created by 86130 on 2021/12/29. */public...

2021-12-29 21:50:40 118

原创 合并两个有序链表

题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [], l2 = []输出:[]示例 2:输入:l1 = [], l2 = [0]输出:[0]代码: /** 合并两个有序链表 */ public ListNode mergeTwoLists(ListNode list1, ListNode list2) { if(list1==null)...

2021-12-27 10:19:00 256

原创 有效的括号

题目:给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true代码解析: public boolean isValid(String s) { //用于存放左括号 List<Character>..

2021-12-27 09:40:47 135

原创 删除链表的倒数第n个节点

题目:给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]代码解析:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { th..

2021-12-26 20:41:22 118

原创 java线上问题定位

本文主要是以常见的线上问题进行模拟,然后介绍定位问题的方法。1.环境准备:基础环境 jdk1.8,采用 SpringBoot 框架来写几个接口来触发模拟场景,首先是模拟 CPU 占满情况2.问题列举2.1 cpu占用率较高模拟cpu占用率较高,实现方法较简单,用一个死循环占用cpu计算即可。代码模拟: /** * 模拟CPU占满 */ @GetMapping("/cpu/loop") public void testCPULoop() th

2021-12-21 16:40:39 1009

原创 四数 之和

题目:给你一个由 n 个整数组成的数组nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d< na、b、c 和 d 互不相同nums[a] + nums[b] + nums[c] + nums[d] == target你可以按 任意顺序 返回答案 。示例 1:输入:nums = ...

2021-12-20 16:47:23 86

原创 电话号码的字母组合

题目:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]解析:回溯过程中维护一个字符串,表示已有的字母排列(如果未遍历完电话号码的所有数字,则已有的字母排列是不完整的)。该字符..

2021-12-16 22:03:24 115

原创 最接近的三数之和

题目:给你一个长度为 n 的整数数组nums和 一个目标值target。请你从 nums 中选出三个整数,使它们的和与target最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例 1:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。示例 2:输入:nums = [0,0,0], target = 1输出:0解析:解题步骤和三数求和思想一致。具体...

2021-12-15 22:09:06 607

原创 三数之和

题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]解析:整体是排序加双指针的算法整体思路:标签:数组遍历首先对数组进行排序,排序后固定一个数 nums[i]...

2021-12-14 22:52:12 62

原创 Linux常用命令

1.1. 目录切换命令cd usr:切换到该目录下 usr 目录 cd ..(或cd../):切换到上一层目录 cd /:切换到系统根目录 cd ~:切换到用户主目录 cd -:切换到上一个操作所在目录4.2. 目录的操作命令(增删改查)mkdir 目录名称:增加目录。 ls/ll(ll 是 ls -l 的别名,ll 命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息。 find 目录 参数:寻找目录(查)。示例:① 列出当前目录及子目录下所有文件和文件夹:...

2021-12-14 22:45:10 856

原创 Linux 文件系统概览

1.1. Linux 文件系统简介在 Linux 操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。也就是说在 Linux 系统中有一个重要的概念:一切都是文件。1.2. inode 介绍inode 是 linux/unix 文件系统的基础。那么,inode 是什么?有什么作用呢?硬盘的最小存储单位是扇区(Sector),块(block)由多个扇区组成。文件数据存储在块中。块的最常见的大小是 4kb,约为 8 个连续.

2021-12-14 15:46:09 826

原创 最长公共前缀

1.题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""2.代码 public String longestCommonPrefix(String[] strs) { //一个字符串,则直接返回 if(strs.leng.

2021-12-13 21:22:02 163

原创 罗马转数字

题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1 。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II...

2021-12-12 17:33:56 386

原创 整数转罗马数字

题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II...

2021-12-08 22:41:30 65

原创 盛最多水的容器

题目:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0) 。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。代码 publi...

2021-12-04 21:02:58 508

原创 数字回文数

题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。代码:import java.util.ArrayList;import java.util.

2021-11-30 22:39:57 133

原创 字符串转换整数 (atoi)

题目:请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,...

2021-11-29 22:17:28 80

原创 Z字形变换

题目:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "PAYPALISHIRING"行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:...

2021-11-28 21:19:12 132

原创 最长回文子串

题目:给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。解析:以下提供两种算法解析,第一种是动态规则,第二种回文中心枚举/** * Created by 86130 on 2021/11/25. */public class Palindromic { /** * 动态规划 * @param str * @return */

2021-11-27 10:47:05 185

原创 找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2解析,请参考中位数算法解析class Solution { public double findMedianSortedArrays(int[] nums1, in..

2021-11-25 21:07:27 33

原创 无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。解析:这道题主要用到思路是:滑动窗口什么是滑动窗口?其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求。所以,我们要移动这个队列!如何移动?我们只要把队列的左边的元素移出就行了,直到满足题...

2021-11-21 16:44:56 54

原创 leetcode-两数相加

Fork/Join

2021-10-21 21:57:27 33

原创 LeetCode-两数之和

题目描述给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。解析1.暴力比较采用暴力遍历比较算法,只...

2021-10-17 15:34:36 41

原创 linux查看日志常用命令

线上环境出现问题,熟悉常用的日志操作命令,对有效的排查出问题至关重要。下面将介绍一些常用的命令,一起学习下。1.tail命令(查询日志文件尾部) tail -f 日志文件:实时监控日志文件的内容,也可以简写成(tailf 日志文件) tail -100f 日志文件:实时监控日志文件的最后100行 tail -n 10 日志文件 查询日志尾部最后10行的日志(对于日志排查,用处不大) 以上两种命令,主要用于操作某种功能必现服务异常,这样就可以操作这种功能,然...

2020-11-15 10:38:11 4594

原创 第三章 java线程的状态切换及常用方法下

这章节主要讲述的是跟线程安全相关的几个方法,例如Synchronized关键字、wait()/notify()、volatile、ThreadLocal.1 Synchronizedsynchronized 是 Java 内建的同步机制,所以也有人称其为 Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里。对...

2020-02-28 20:50:16 88

原创 第二章 java线程的状态切换及常用方法上

1.线程的五大状态及其切换 线程的五大状态是指初始状态(New)、可运行状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)。 以下是五种状态的关系切换图: 1)初始状态:即单纯地创建一个线程,创建线程有三种方式,可参考我的博客线程创建的三种方式(2)可运行状态:即就绪状态,在初始化了线程对象之后,调用线程...

2020-02-26 15:19:08 125

原创 第一章 java中线程的创建的三种方式

一前言这里先来一个小菜,说说进程和线程的区别:根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。关系:一个程序至少一个进程,一个进程至少一个线程。二、线程的创建方式我们先列出创建线程的三种方式,脑子里先有个故事大纲: 1.通过继承Thread类创建线程类...

2020-02-24 21:50:00 170

原创 动态规划 求最大字串和,一维

最大子段和:给定由n个整数组成的序列a1,a2,...an,求该序列子段和的最大值!例如:(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2),最大子段和为11+(-4)+13=20针对最大子段和求解,本此贡献两种算法,一个是分治算法,一个是动态规划。两种算法的时间复杂度不一样,分治算法是的时间复杂度为T(n)=O(nlogn),动态规划的时间复杂度为T(n)=O(n)....

2018-05-05 15:53:15 223

原创 struts2学习笔记

Struts2 学习1.strusts2概念struts2是在webwork2基础上发展过来的。其优点:① 在软件设计上Struts2没有像struts1那样跟Servlet API和Struts API有有着紧密的耦合,struts2的应用可以不依赖于servlet API和struts API.Struts2 这种设计属于无嵌入式设计,而Struts1这种设计属于嵌入式设计。② Struts提...

2018-05-05 15:52:15 147

原创 Hadoop之HDFS安装

1.1环境说明前提:是在虚拟机上装了三个centos6.0的系统,并且都已经配置好ssh服务本集群中包含了三个节点,master节点作为NameNode节点,slave1作为SecondNameNode节点和DataNode节点,slave2作为DataNode节点。节点的IP地址(iP地址是静态ip)如下:机器名称IP地址master192.168.159.129slave1192.168.15...

2018-05-05 15:51:32 132

原创 spingmvc+jdbc+mysql+eclipse项目框架搭建

       本博客讲述的是springmvc+jdbc+mysql的框架搭建过程,建立的是普通的web项目,不是maven过程,建立项目过程中所需要的依赖包下载地址是:依赖包,依赖包中也包含mybatis的依赖。      1.用eclipse建立web项目        步骤:点击File菜单栏---》NEW==&gt;Dynamic web project,会出现如下图的界面:       ...

2018-05-05 11:28:06 757

原创 Servlet知识上篇

1.Servlet的时序图        由上图可以看出来,一个完整的servlet的时序是:加载servlet Class文件,创建servlet对象---------->调用servlet的init()方法------>调用service()方法。2.Servlet的生命周期的三个阶段    Servlet生命周期具体包含三个阶段,初始化阶段、运行阶段、销毁阶段   1)初

2016-03-15 22:43:09 486 1

原创 Struts2学习笔记之自定义转换器

Struts2自定义类型转换器 自定义类型转换器解决了类型之间不匹配的问题1.Struts2自定义类型转换器包含两种类型   局部类型转换器      局部类型转换器的开发步骤:     a.首先自定义的转换器类要继承DefaultTypeConverter     b.然后重写convertValue这个方法,在里面进行数据转型      c.在action类所在的包

2016-02-27 19:35:52 367

原创 Struts2 学习笔记之一

1.strusts2概念struts2是在webwork2基础上发展过来的。其优点:① 在软件设计上Struts2没有像struts1那样跟Servlet API和Struts API有有着紧密的耦合,struts2的应用可以不依赖于servlet API和struts API.Struts2 这种设计属于无嵌入式设计,而Struts1这种设计属于嵌入式设计。② Struts提供了拦截

2016-02-25 22:07:35 334

转载 java I/O流

原本博客:http://blog.csdn.net/yuebinghaoyuan/article/details/7388059Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。 输出流: 输入流:

2016-02-24 15:37:18 312

原创 与线程有关的知识点总结 java

一、java线程的创建与启动 1.定义线程 线程的定义分为两种,一种是继承Java.lang.Thread类,另一种是实现java.lang.Runnable接口。2.实例化线程 定义线程分为两种,则实例化也分为两种。 1、如果是继承java.lang.Thread类的线程,则直接用关键字new一个对象即可。 2.如果是实现的java.lang.

2016-02-23 15:31:28 676

转载 常用正则表达式大全

常用正则表达式大全!(例如:匹配中文、匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5]     评注:匹配中文还真是个头疼的事,有了这个表达式就好办了   匹配双字节字符(包括汉字在内):[^x00-xff]   评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)   匹配空白行的正则表达式:ns*r   评注:可以用来删

2015-12-27 10:23:51 312

原创 KMP算法

KMP算法是字符串模式匹配的一个改进的算法,此算法可以 在O(m+n)的时间数量级上完成串的模式匹配操作。其主要是求next[]数组。看了好多文章,说的不是很清楚,也不是很好理解。在这里写上我自己的一个看法。我的这个见解只为了很快求出next[]数组,至于具体的代码实现,还是用经典的代码实现。KMP算法的思想是当主串中的第i个字符与模式中的第j个字符“失配“(即比较不相等)时,主串中的第i个字

2015-11-16 23:04:14 315

原创 旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。public int minNumberInRotateArray(int [] array) { if(array==null||array.length==0){

2015-11-13 20:35:09 345

POCO 1.8.2

POCO 1.8.2,源代码!c++很好用的一种框架,有很多实用的工具类。POCO 1.8.2,源代码!c++很好用的一种框架,有很多实用的工具类。POCO 1.8.2,源代码!c++很好用的一种框架,有很多实用的工具类。

2019-03-30

Spring3.2与Mybatis3.2的整合的需要的所有的jar包

Spring3.2 ,Mybatis3.2,commons-pool-1.3.jar,commons-dbcp-1.2.2.jar,mybatis-spring-1.2.2.jar

2015-09-24

基于SimpleCV的实用机器视觉.pdf

基于SimpleCV的实用机器视觉!

2015-06-22

空空如也

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

TA关注的人

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