自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 CentOS7安装redis

文章目录一、下载redis二、解压三、安装gcc依赖(如已转gcc,则跳过这一步)1.查看是否已安装gcc2.使用yum安装gcc四、编译安装1、进入redis目录并执行make命令2、如果make执行有错误,这可能是因为gcc版本太低导致的。五、启动服务六、配置redis1、更改默认端口2、以后台进程方式启动3、设置redis远程连接4、启动redis,若你的redis已经启动,则先关闭,按以下方式进行关闭(关闭默认端口)一、下载redis下载地址在:redis.iowget http://down

2021-04-24 22:30:31 184

原创 多线程篇之ThreadLocal详解

文章目录一、为什么需要ThreadLocal二、ThreadLocal介绍三、ThreadLocal源码分析1、先来看看get()方法2、再看set()方法3、总结一、为什么需要ThreadLocalpublic class ThreadLocalTest { private static Integer num = 0; public static void main(String[] args) { Thread[] threads = new Thread[5];

2021-03-31 16:01:22 390 1

原创 Java怎么终止线程呢?

方法一、程序正常运行结束线程体执行完成了,那么线程也就自动结束了。方法二、使用stop方法这是一个被弃用的方法,打开Thread类可以看到它是被@Deprecated注解修饰的@Deprecated public final void stop() { SecurityManager security = System.getSecurityManager(); if (security != null) { checkAccess()

2021-03-30 11:01:52 175

原创 兴盛优选后端实习面经

5道选择、填空题(问到了树、计算机网络、操作系统等)6道大题:1.给你3L和5L的水桶(无刻度),怎么精准倒出4L的2.36个人赛跑,一共6条赛道,最少比赛几次可以决出前三名3.给你中序和后续遍历,让你重建二叉树,并写出其前序遍历4. a.让写SQL查询语句,要求要能使用到建立的联合索引b.写SQL查询语句,要求不能回表5. 支付业务用到了http协议,发现使用时有很大的延迟(5S),测试时一般延迟在10ms左右,问是什么原因,如何解决。6.有个业务使用了大量if else,导致容易出错,让

2021-03-26 23:19:24 1759 14

原创 CVTE软件岗实习笔试记录20210317

文章目录CVTE软件岗实习笔试记录20210317编程题1、给你一个数组arr[]和数pivot,让数组中小于pivot的放在左边,大于pivot的放在右边,等于pivot的放在中间2、猜数字大小CVTE软件岗实习笔试记录20210317先说题量,90分钟,总共23道题,具体题型如下:20道选择题(多选单选都有,多选偏多,且未注明是否是多选),基本上会考核软件领域所有的知识,数据库、数据结构、语言、JVM(java的)、算法时间复杂度的计算、程序输出的结果、多线程…2道编程题,在编辑框写,不能调试

2021-03-17 22:52:52 446

原创 Java通过Comparable接口或者Comparator接口实现自定义排序

文章目录一、Comparable接口二、Comparator接口使用局部内部类改写使用匿名内部类改写使用lambda表达式改写一、Comparable接口Arrays类中的sort方法承诺可以对对象数组进行排序,但要对象所属的类必须实现Comparable接口。public interface Comparable<T> { /** * @param o the object to be compared. * @return a negative

2021-03-17 15:56:43 671

原创 docker

Linux 安装docker1.查看是否已安装dockeryum list installed | grep docker2.安装dockeryum -y install docker3.启动dockersystemctl start docker4.查看docker服务状态systemctl status docker说明安装docker成功。5.更换docker镜像源进入/etc/docker目录查看有没有 daemon.json,这是docker默认的配置文件,如果没

2021-03-16 20:49:29 368

原创 为什么32位操作系统,8G内存,实际只有4G?

在早期的计算机中,内存是很小的,当时就分配4个字节,1个字节8位来记录一个地址。4 * 8也就是32位。32位的数字可以表示的范围是00000000~FFFFFFFF。F代表的是16进制。换算成10进制的话,就是4294967295。内存的最小单位是Byte,也就是能表示4294967295Byte。然后进行数据换算4294967295 B = 4194303 KB = 4095 MB ...

2021-03-10 10:37:30 662

原创 专题练习——二分查找

文章目录二分模板一、LeetCode69. x 的平方根题目描述二分法二、LeetCode69. x 的平方根题目描述二分法三、LeetCode33. 搜索旋转排序数组题目描述二分法二分模板left = 0;right = array.length - 1;while(left < right) { int mid = left + (right - left) / 2;//取left和right的中间值 if (array[mid] == target) { //find the t

2020-09-08 19:47:52 463

原创 专题练习——贪心算法

文章目录一、LeetCode455. 分发饼干题目描述题解二、LeetCode122. 买卖股票的最佳时机 II题目描述题解三、LeetCode860. 柠檬水找零题目描述题解四、LeetCode55. 跳跃游戏题目描述方法一、从前往后方法二、从后往前五、LeetCode45. 跳跃游戏 II题目描述题解一、LeetCode455. 分发饼干题目描述链接假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃

2020-09-03 21:48:10 336

原创 专题练习——回溯

文章目录回溯框架一、LeetCode77. 组合题目描述方法一、回溯方法二、回溯+剪枝二、LeetCode78. 子集题目描述回溯框架回溯法是所有搜索算法中最为基本的一种算法,又称为试探法,基本做法是深度优先搜索。回溯算法框架如下所示,其核心就是 for 循环里面的递归,在递归调⽤之前做出选择,在递归调⽤之后撤销该选择。result = []function backtrack(路径, 选择列表) { if (满足条件) { // 结束条件 result.add(路径); return

2020-08-14 19:34:51 220

原创 专题练习——树

文章目录一、LeetCode98.验证二叉搜索树题目描述方法一 递归方法二 中序遍历一、LeetCode98.验证二叉搜索树题目描述题目链接给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 /

2020-08-09 16:03:00 287

原创 详解String,StringBuffer,StringBuilder

一、通过代码测试三者进行字符串拼接的性能对String,StringBuffer,StringBuilderString,StringBuffer,StringBuilderString,StringBuffer,StringBuilder三者各做6000次字符串拼接,观察其分别使用的内存和时间。/** * 对String,StringBuilder,StringBuffer进行字符串拼接性能比较 */public class String_StringBuilder_StringBuffer {

2020-08-06 16:14:54 175

原创 VM虚拟机下银河麒麟安装vmware-tool

文章目录VM虚拟机下银河麒麟安装vmware-tool一、Vmware Tools的作用二、Vmware Tools的安装1.下载安装包2.解压缩3.安装VM虚拟机下银河麒麟安装vmware-tool一、Vmware Tools的作用VMware Tools是一套bai可以提高虚拟机客户机操作系统性能并改善du虚拟机管理zhi的实用工具。功能包括:dao1、支持Aero的操作系统上大大提升的图形性能和WindowsAero体验2、使虚拟机中的应用程序像其他任何应用程序窗口一样显示在主机桌面上的Un

2020-07-22 13:49:18 9518

原创 树的前中后序遍历

文章目录LeetCode 94.二叉树的中序遍历题目描述方法一 递归方法二 基于栈的遍历LeetCode 144.二叉树的前序遍历题目描述方法一 递归方法二 基于栈的遍历LeetCode 589.N叉树的前序遍历题目描述方法一 递归方法二 基于栈的遍历LeetCode 590.N叉树的后序遍历题目描述方法一 递归方法二 基于栈的遍历LeetCode 429.N叉树的层序遍历题目描述广度优先搜索(BFS)LeetCode 94.二叉树的中序遍历题目描述题目链接给定一个二叉树,返回它的中序 遍历。示例

2020-07-01 20:57:20 525

原创 LeetCode 242有效的字母异位词 & 49字母异位词分组

文章目录242 有效的字母异位词题目描述方法一 排序方法二 哈希表49 字母异位词分组题目描述排序数组分类法242 有效的字母异位词题目描述题目链接给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎

2020-06-28 20:05:10 93

原创 LeetCode 42接雨水 & 83柱状图中最大的矩形 & 239 滑动窗口的最大值

42 接雨水题目描述题目链接方法一 暴力法对于数组中的每个元素(柱子,包括高度为0的柱子),找出其下雨后所能达到的最高位置,该柱子的积水量就是两边最大高度的较小值减去当前柱子的高度。比如说:[0,1,0,2,1,0,1,3,2,1,2,1]下标为1的柱子高度为1,其左边(包括其本身)最大高度为1,右边(包括其本身)最大高度为3,那么所能达到的高度为1,积水量为1-1=0;下标为2的柱子高度为0,其左边(包括其本身)最大高度为1,右边(包括其本身)最大高度为3,那么所能达到的高度为1,积水量为

2020-06-23 19:04:14 297

原创 LeetCode 20.有效的括号 & 155.最小栈

20 有效的括号题目描述题目链接给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "{[]}"输出

2020-06-18 13:29:00 134

原创 LeetCode 66.加一

66 加一题目描述题目链接给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321代码class Solution { public int[] plusOne(int

2020-06-17 17:37:02 84

原创 LeetCode 21.合并两个有序链表 & 88合并两个有序数组

21 合并两个有序链表题目描述题目链接将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4方法一 递归/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next;

2020-06-17 17:07:33 218

原创 LeetCode 189.旋转数组

189 旋转数组题目描述题目链接给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]方法一 额外数组空间采用额外的数组空间实现,时间复杂度和空间复杂度结尾O(n)class Solution { pub

2020-06-17 15:22:22 87

原创 LeetCode 26.删除排序数组中的重复项

26 删除排序数组中的重复项题目描述题目链接给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3

2020-06-17 11:02:43 73

原创 LeetCode141&142.环形链表

141 环形链表I题目描述题目链接给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。示例 3:输入:hea

2020-06-16 17:02:53 95

原创 LeetCode 206.反转链表 & 24.两两交换链表中的节点 & 25.K个一组翻转链表

206 反转链表题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?方法1 利用外部空间利用外部容器或者数组,先读取所有节点信息到容器中,然后逆序从容器中取出节点,并形成链表。方法2 迭代法/** * Definition for singly-linked list. * public cl

2020-06-16 12:57:40 151

原创 LeetCode 两(三、四)数之和

LeetCode 1.两数之和题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解方法1 暴力法不多说,两重循环解决,时间复杂度为O(n²),空间复杂度为O(1)。cla

2020-06-15 16:58:26 152

原创 尚硅谷SpringBoot课程学习笔记——Spring Boot配置

一、配置文件1.SpringBoot使用一个全局的配置文件,配置文件名是固定的,SpringBoot有有以下两种方式的配置文件:application.properties– 自动生成的文件修改http服务端口的命令为(SpringBoot默认为8080):application.yml– 需要手动创建修改http服务端口的命令为(与application.properties格式不一样):2.配置文件的作用:修改SpringBoot自动配置的默认值。配置文件放在src/mai

2020-05-19 14:32:17 339

原创 LeetCode11.盛最多水的容器

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

2020-05-15 21:29:04 176

原创 LeetCode283.移动零

移动零题目链接题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解思路双指针i、ji 用来遍历数组中的所有元素,找出非0元素;j 用来找出数组中非0元素,然后存放非0元素的位置,从下标0开始。例如数组[0,1,0,3,12]数组第一个非0元素的下标是 i = 1,此时 j = 0;那么在下

2020-05-14 21:22:01 106

原创 剑指offer 面试题16:数值的整数次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0注意点首先应考虑到指数小于1(负数和零)的情况应注意0的0次方在数学上是没有意义的通过快速幂算法提高算法效率为进一步提高效率,用右移运算符代替除以2,用位运算符(n&1)代替取余运算来判断一个数是奇数还是偶数快速幂...

2020-03-01 18:55:55 108

原创 剑指offer 面试题5:替换空格

面试题5:替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。需要注意的是:空格是一个字符,%20是3个字符,直接替换会导致后面的字符被覆盖思路1:创建一个新的字符串变量,遍历源字符串,当遇到空格时,将%20加到新字符串,当不是空格时,直接把字符加到字符串。时间复杂...

2020-03-01 14:47:35 116

原创 剑指offer 面试题4:二维数组中的查找

剑指offer 面试题4:二维数组中的查找最近开始刷剑指offer了,代码思路基本上是书上的,语言用的java此题在牛客网的链接:二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。一开始的思路二重循环直接遍历数组,找目标整...

2020-03-01 14:43:30 112

原创 2019年9月CCF考试第一题题解

##201901-1 小明种苹果###题目简述:1.题目链接:2.给出N棵苹果树,每棵苹果树进行M次疏果(剪掉不好的苹果)操作,求最终N棵苹果树剩下的苹果总数,疏果个数最多的苹果树的编号及其疏果个数###解题思路:使用一个二维数组保存N*M次疏果的数量,使用一个一维数组保存每棵树疏果M次的总数量###参考代码:...

2019-09-28 21:39:00 745

空空如也

空空如也

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

TA关注的人

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