自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VMware下的Ubuntu虚拟机上wget:无法解析主机地址

Ubuntu上wget:无法解析主机地址

2022-07-04 09:26:34 3284 1

原创 面试题 --树

面试题 17.12. BiNode二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法,把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。返回转换后的单向链表的头节点。注意:本题相对原题稍作改动示例:输入: [4,2,5,1,3,null,6,0]输出: [0,null,1,null,2,null,3,null,4,null,5,null,6]解析过程:/** * De

2021-12-24 16:47:08 222

原创 二叉搜索树III

1008. 前序遍历构造二叉搜索树返回与给定前序遍历 preorder 相匹配的二叉搜索树(binary search tree)的根结点。(回想一下,二叉搜索树是二叉树的一种,其每个节点都满足以下规则,对于 node.left 的任何后代,值总 < node.val,而 node.right 的任何后代,值总 > node.val。此外,前序遍历首先显示节点 node 的值,然后遍历 node.left,接着遍历 node.right。)题目保证,对于给定的测试用例,总能找到满足要求的二

2021-12-20 16:21:35 185

原创 剑指offer——树

剑指 Offer 27. 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。示例 1: 4 / \ 2 7 / \ / \1 3 6 9输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1] 4 / \ 7 2 / \ / \9 6 3 1限制:0 <= 节点个数 <= 1000解析过程:/** * Definition for a bi

2021-12-13 19:30:42 607

原创 树系列问题IV——二叉树

623. 在二叉树中增加一行给定一个二叉树,根节点为第1层,深度为 1。在其第 d 层追加一行值为 v 的节点。添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为 v 的左子树和右子树。将 N 原先的左子树,连接为新节点 v 的左子树;将 N 原先的右子树,连接为新节点 v 的右子树。如果 d 的值为 1,深度 d - 1 不存在,则创建一个新的根节点 v,原先的整棵树将作为 v 的左子树。示例 1:输入: 二叉树如下所示:

2021-12-13 16:17:28 500

原创 树系列问题-N叉树

589. N 叉树的前序遍历给定一个 N 叉树,返回其节点值的 前序遍历 。N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]输出:[

2021-12-10 16:01:34 1024

转载 maven 报错:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (def

控制台打包的时候 提示 :[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project chedai: The plugin org.apache.maven.plugins:maven-resources-plugin:3.2.0 requires Maven version 3.1.0 -> [Help 1]

2021-12-10 10:31:06 3483

转载 SpringBoot报错:Web server failed to start. Port 8080 was already in use.

控制台报错信息:原因:端口被占用解决方法:1、修改端口,配置文件加上:properties文件:server.port = 8014yml文件:server:port: 80142、关闭占用端口的进程:1)使用cmd查看占用端口进程,命令:netstat -ano | findstr 端口号2)使用任务管理器手动删除进程:PID为1676或者使用命令关闭:taskkill -PID 进程号 -F————————————————版权声明:本文为CSDN博主「陈暗暗」的原创文

2021-12-09 19:37:45 441

原创 数组问题 2021-12-03

1005. K 次取反后最大化的数组和给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。重复这个过程恰好 k 次。可以多次选择同一个下标 i 。以这种方式修改数组后,返回数组 可能的最大和 。示例 1:输入:nums = [4,2,3], k = 1输出:5解释:选择下标 1 ,nums 变为 [4,-2,3] 。示例 2:输入:nums = [3,-1,0,2], k = 3输出:6解释:选择下标

2021-12-03 20:43:48 80

转载 Java构造器(构造方法)

Java构造器(构造方法)详解什么是构造器构造器通常也叫构造方法、构造函数,构造器在每个项目中几乎无处不在。当你new一个对象时,就会调用构造器。构造器格式如下:[修饰符,比如public] 类名 (参数列表,可以没有参数){ //这里不能有return}文章目录Java构造器(构造方法)详解Java构造器怎么定义构造器构造器的使用构造器的继承构造器、静态代码块、构造代码块的执行顺序,详见下文实例实例1.默认构造器2.禁止对象被外部创建3.构造器重载4.构造器的继承5.构造

2021-12-02 09:29:21 2478

原创 字符串与数组问题

1446. 连续字符给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串的能量。示例 1:输入:s = “leetcode”输出:2解释:子字符串 “ee” 长度为 2 ,只包含字符 ‘e’ 。示例 2:输入:s = “abbcccddddeeeeedcba”输出:5解释:子字符串 “eeeee” 长度为 5 ,只包含字符 ‘e’ 。示例 3:输入:s = “triplepillooooow”输出:5示例 4:输入:s = “ho

2021-12-01 14:19:17 80

转载 java String.valueof()和Integer.toString()的区别

引言平常经常使用这两个方法进行int类型转String,一般情况也不区分,今天就深究一下,它们的区别,平常应该使用那个方法更好一些。Integer.toString()方法作用:该方法返回指定整数的有符号位的String对象,以10进制字符串形式返回。内部实现:public static String toString(int i) { if (i == Integer.MIN_VALUE) //等于最小值直接返回最小值字符串,避免getChars方法遇到最小值发生错误 r

2021-11-24 19:36:31 667

原创 二叉搜索树II

501. 二叉搜索树中的众数给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如:给定 BST [1,null,2,2], 1 \ 2 / 2返回[2].提示:如果众数超过1个,不需考虑输出顺序解析过程:对于每组数据,在一行中输出一个整数,表示这组数据的众数。数据

2021-11-24 16:43:41 162

转载 java StringBuffer 和 StringBuilder 类

一、Java String 类——String字符串常量字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。我们来看一下这张对String操作时内存变化的图:我们可以看到,初始String值为“hello”,然后在这个字符串后面加上新的字符串“world”,这个过程是需要重新在栈堆内

2021-11-24 14:44:11 94

原创 树系列问题III——二叉树

114. 二叉树展开为链表给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。示例 1:输入:root = [1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示例 2:输入:root = []输出:[]示例 3:输入:root = [0]

2021-11-23 16:14:46 1939

原创 GUI编程

GUI编程组件:窗口弹窗面板文本框列表框按钮图片监听事件鼠标键盘事件外挂:java破解工具extends和implements有什么不同? java不支持多继承,但是可以通过接口来实现,此时就需要implements,implements可以实现多个接口,用逗号分开就行了,比如 class A extends B implements C,D,E。 对于class而言,extends用于(单)继承一个类(

2021-11-22 17:02:36 360

转载 java中LinkedList和ArrayList的区别

ArrayList 和 LinkedList 是 List 接口的两种不同实现,并且两者都不是线程安全的。但初学者往往搞不清楚它们两者之间的区别,不知道什么时候该用 ArrayList,什么时候该用 LinkedList,那这篇文章就来传道受业解惑一下。ArrayList 内部使用的动态数组来存储元素,LinkedList 内部使用的双向链表来存储元素,这也是 ArrayList 和 LinkedList 最本质的区别。注:本文使用的 JDK 源码版本为 14,小伙伴如果发现文章中的源码和自己本地的不同

2021-11-22 16:34:56 948

转载 java split()方法

今天是圣诞节,我是中国人,无视圣诞节。文章可能有点长,看下来必定有所收获。没有学过正则表达式的去b站看,一个半小时应该可以看完,要看请点这里这是必备的前置技能,不懂得话没法真正明白split用法方法1:split(String regex)split()方法:分割字符串,参数regex称为分割符,可以使用正则表达式来表示public String[] split(String regex) {return split(regex, 0);}123入门案例1分割符可以是任意字母,符号

2021-11-16 15:13:08 19387 3

原创 树系列问题II——二叉树

106. 从中序与后序遍历序列构造二叉树根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树:3/ 9 20/ 15 7解析过程:/** * Definition for a binary tree node. * public class TreeNode { * int val; *

2021-11-12 16:58:01 369

原创 二叉搜索树

700. 二叉搜索树中的搜索给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和值: 2你应该返回如下子树: 2 / \ 1 3在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。解析过程:/** * Definition for a binary

2021-11-07 22:20:14 4982

原创 2021-11-05

1218. 最长定差子序列给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。示例 1:输入:arr = [1,2,3,4], difference = 1输出:4解释:最长的等差子序列是 [1,2,3,4]。示例 2:输入:arr = [1,3,5,7], difference

2021-11-05 14:45:06 56

原创 树系列问题 2021-11-4

144. 二叉树的前序遍历给你二叉树的根节点 root ,返回它节点值的 前序 遍历。提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val <= 100示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[1,2]示例 5:输入:root = [1,null,2]输出:

2021-11-04 15:55:19 134

原创 有效的完全平方数 2021-11-4

367. 有效的完全平方数给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。提示:1 <= num <= 2^31 - 1进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false解析过程:方法一:使用库函数sqrtclass Solution { public boolean isPerfectSquare(

2021-11-04 15:12:40 61

原创 用栈实现队列 2021-11-03

232. 用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from t

2021-11-03 16:11:09 69

原创 分糖果问题

575. 分糖果Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n / 2 枚糖的情况下,可以吃到糖的最多种类数。示例 1:输入:candyType

2021-11-02 16:18:27 109

原创 有关数组问题

566. 重塑矩阵在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。提示:m == mat.lengthn ==

2021-10-29 15:38:53 75

原创 排列问题 2021-10-28

46. 全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。提示:1 <= nums.length <= 6-10 <= nums[i] <= 10nums 中的所有整数 互不相同示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:

2021-10-28 20:59:59 119

原创 有效和无效括号问题

20. 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false示例 4:输入:s = “([)]”输出:false示例 5:输入:s = “{[]}”输出:true解析过程:class

2021-10-27 17:01:23 287

原创 496. 下一个更大元素 I (Leecode)

496. 下一个更大元素 I给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释:对于 num1 中的数字 4 ,你

2021-10-26 16:04:56 93

原创 位运算 2021-10-25

231. 2 的幂给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。示例 1:输入:n = 1输出:true解释:20 = 1示例 2:输入:n = 16输出:true解释:24 = 16示例 3:输入:n = 3输出:false示例 4:输入:n = 4输出:true示例 5:输入:n = 5输出:false解析过程:方法一:cla

2021-10-25 22:11:23 104

原创 动态规划 2021-10-25

爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶过程解析:方法一:递归:class Solution { public int cli.

2021-10-25 00:31:51 67

原创 递归/回溯 2021-10-21

21. 合并两个有序链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]过程解析:/** * Definition for singly-linked list. * public class ListNode {

2021-10-21 10:24:47 195

原创 DFS/BFS

733. 图像渲染有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜色值改为新的颜色值。最后返

2021-10-19 21:49:25 60

原创 滑动窗口(字符串)

无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,.

2021-10-18 16:55:01 176

原创 2021-10-19 双指针问题 + 链表问题

双指针977. 有序数组的平方给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。提示:1 <= nums.length <= 10^4-10^4 <= nums[i] <= 10 ^4nums 已按 非递减顺序 排序示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,10

2021-10-13 15:11:21 68

原创 2021-10-08

(赎金信与字母异位词是一种类型)383. 赎金信给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。)提示:你可以假设两个字符串均只含有小写字母。示例 1:输入:ransomNote = “a”

2021-10-08 17:10:46 45

原创 2021-10-08

字符串中的第一个唯一字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。提示:你可以假定该字符串只包含小写字母。示例:s = “leetcode”返回 0s = “loveleetcode”返回 2过程解析:class Solution { public int firstUniqChar(String s) { //用HashMap求解,遍历字符串,将字符加入哈希表中,再遍历字符串,判断存储的次数是否为1,若为1,则返回索.

2021-10-08 14:59:28 71

原创 2021-10-08

重复的DNA序列所有 DNA 都由一系列缩写为 ‘A’,‘C’,‘G’ 和 ‘T’ 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。提示:0 <= s.length <= 105s[i] 为 ‘A’、‘C’、‘G’ 或 ‘T’示例 1:输入:s = “AAAAACCCCCAAAAACCCCCCAAAAAGGGT.

2021-10-08 14:07:23 73

原创 2021-10-07

字符串中的单词数统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: “Hello, my name is John”输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。过程解析:选择两个指针:当i移动到第一个非空格处,j移动到第一个空格处时,之间的即为一个单词。class Solution { public int countSegments(String s.

2021-10-07 16:31:29 83

原创 2021-10-06

第三大的数给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。提示:1 <= nums.length <= 104-231 <= nums[i] <= 231 - 1示例 1:输入:[3, 2, 1]输出:1解释:第三大的数是 1 。示例 2:输入:[1, 2]输出:2解释:第三大的数不存在, 所以返回最大的数 2 。示例 3:输入:[2, 2, 3, 1]输出:1解释:注意,要求返回第三大的数,是指在所有不同数字中排第.

2021-10-06 16:49:59 53

空空如也

空空如也

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

TA关注的人

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