自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法】合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。

2022-08-18 23:45:36 131 1

原创 【算法】两数之和

代码】【算法】两数之和。

2022-08-17 22:35:41 127

原创 【算法】寻找两个正序数组的中位数

代码】【算法】寻找两个正序数组的中位数。

2022-08-15 23:14:49 113

原创 【算法】无重复字符的最长子串

【算法】无重复字符的最长子串。

2022-08-15 23:13:33 93

原创 【算法】两数相加

【算法】两数相加。

2022-08-15 23:12:13 91

原创 【算法】有效的括号

【算法】有效的括号。

2022-08-15 23:09:57 35

原创 读取文件,输出String

读取文件并输出为String字符串import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.Resource;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;/** * @author y

2022-03-03 17:21:50 433

原创 java集合

stream获取List对象里的某个属性的map集合 && List使用Stream对BigDecimal求和方法 @Test public void testStream(){ List<User> users = new ArrayList<>(); for (int i = 0; i < 5; i++) { User user = new User("a" + i, i,BigD

2021-12-29 16:29:03 187

原创 linux 相关

一、常用命令返回上一级目录 cd ..返回上两级 cd ../..查找含有某名字的进程ps -ef | grep 文件名查找文件位置find / -name 文件名

2021-12-29 09:49:25 390

原创 git相关

git相关一、git常用命令二、新项目第一次git到远程仓库三、改变仓库地址并清除git文件一、git常用命令二、新项目第一次git到远程仓库git initgit add . (注意有一点)git commit -m “init”git remote add origin + 仓库地址git push -u origin master三、改变仓库地址并清除git文件找到项目文件目录,并 git bash here`find . -name “.git” | xargs rm

2021-11-16 11:35:49 187

原创 关于git

关于git1、上传本地项目到gitee云仓库:https://www.cnblogs.com/hongshaozi/p/12700804.html

2021-09-28 23:44:49 66

原创 26.青蛙跳台阶

青蛙跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析:F(n) = F(n-2) +F(n -1)代码:package 牛客;/* *@Author: helen *@Date: 2021/4/26 18:00 *@Description: */public class 跳台阶 { //跟斐波那契数列一样, F(n) = F(n-2) + F(n-1) public int

2021-04-26 18:08:23 58

原创 25.二维数组中的查找

二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下递增的顺序排序,请写一个函数:给定一个数,判断该数组是否含有该数,有的话输出他的其中一个位置/* *@Author: helen *@Date: 2021/4/26 16:40 *@Description: 题目: 在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下递增的顺序排序, 请写一个函数:给定一个数,判断该数组是否含有该数,有的话输

2021-04-26 17:38:51 89

原创 24.最小编辑代价

最小编辑代价题目描述给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。示例1输入 “abc”,“adc”,5,3,2返回值 2示例2输入 “abc”,“adc”,5,3,100返回值 8分析利用动态规划法来做,建立二维矩阵new dp[len1 + 1][len2 +1]来保存走到哪一步最小代价,最后输出dp[ len1 ][ len2 ]即为所求。dp的建立:因为第一行

2021-04-25 11:39:18 406

原创 23.设计LRU缓存结构

设计LRU缓存结构题目描述 设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能 set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1)某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。若opt=1,接下来两个整数x, y,表示set(x,

2021-04-24 10:59:45 65

原创 22.两个栈实现队列

两个栈实现队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析两个栈实现队列,队列是先进先出,栈是后进先出,则可以用一个栈用来入队,一个栈用于出队入队:直接把数据stack1.push();出队:把stack1的数据搬到stack2,再把stack2.pop(),则数据顺序就是我们需要的顺序了,但是在出队的 过程中需要分情况:(1)当stack1和stack2都为空时,此时无数据可以出队。(2)如果stack2为空,而且s

2021-04-24 09:38:38 46

原创 21.快速排序

快速排序public class Sort { public void QuickSort(int[] a, int start, int end){ if(start < end) { int i = start, j = end; while (i < j) { while (i < j && a[i] <= a[j]) j--;

2021-04-23 14:45:38 63

原创 20.合并有序链表

合并有序链表题目描述将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的,且合并后新链表依然有序。示例1 输入 {1},{2} 返回值 {1,2}示例2 输入 {2},{1} 返回值 {1,2}package 牛客.链表;/* *@Author: helen *@Date: 2021/4/23 9:15 *@Description: */class ListNod

2021-04-23 14:42:53 62

原创 19.链表逆置

链表逆置 //链表逆置 (带头结点) public void reset(){ Node2 p,q; p = head.next; head.next = null; while(p != null){ q = p; p = p.next; q.next = head.next; head.next = q; } }

2021-04-23 14:41:39 57

原创 18.按之字形层序遍历二叉树

按之字形层序遍历二叉树给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)/* * @Author helen * @Date 2021/4/10 9:16 * @Descriptions * 题目描述 * 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) */import java.util.ArrayList;import java.util.Stack;public class

2021-04-23 14:38:44 155

原创 17.按层序遍历二叉树

按层序遍历二叉树给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)/* *@Author helen *@Date 2021/4/9 10:28 *@Descriptions */import org.junit.Test;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class 按层序遍历二叉树 { public A

2021-04-23 14:36:57 216

原创 16.平衡二叉树

平衡二叉树题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树平衡二叉树(Balanced Binary Tree),具有以下性质:* 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。示例1 输入 {1,2,3,4,5,6,7} 返回值 true/* * @Author helen * @Date 2021/4/16 11:09 * @De

2021-04-23 14:34:28 60

原创 15.二叉树的前中后序遍历

二叉树的前中后序遍历import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@NoArgsConstructor@AllArgsConstructor@Datapublic class BTreeNode<T>{ T data; BTreeNode<T> left; BTreeNode<T> right; BTr

2021-04-23 14:31:06 72

原创 14.链表中环的入口点

链表中环的入口点题目描述对于一个给定的链表,返回环的入口节点,如果没有环,返回null拓展:你能给出不利用额外空间的解法么?分析描述package 牛客.链表;/* *@Author: helen *@Date: 2021/4/23 10:41 *@Description: */public class 链表中环的入口点 { public ListNode detectCycle(ListNode head) { if (head ==

2021-04-23 11:27:42 49

原创 13.合并有序链表

合并有序链表题目描述将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的,且合并后新链表依然有序。示例1 输入 {1},{2} 返回值 {1,2}示例2 输入 {2},{1} 返回值 {1,2}class ListNode { int val; ListNode next = null; public ListNode(int val) {

2021-04-23 10:44:02 31

原创 12.斐波那契数列

斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n≤39示例1 输入 4 返回值 3package 牛客;/* *@Author: helen *@Date: 2021/4/22 11:56 *@Description: 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 n≤39

2021-04-22 12:18:29 165

原创 11.有重复数字的升序数组的二分查找

有重复数字的升序数组的二分查找题目描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1示例1 输入 [1,2,4,4,5],4 返回值 2 说明 从左到右,查找到第1个为4的,下标为2,返回2示例2 输入 [1,2,4,4,5],3 返回值 -1示例3 输入

2021-04-22 11:54:41 931

原创 10.第K大的数

第K大的数题目描述有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。示例1 输入 [1,3,5,2,2],5,3 返回值 2方法一:使用快速排序的思想1、从大到小排序,每比较完一轮,判断此时走到的数组的索引值i:2、 i == k - 1,则返回此时索引的数组值3、 i > k - 1,则第k大的数在此时索引的左边,递归数组左半边4、i

2021-04-22 11:06:23 78

原创 9.最长公共子串

最长公共子串题目描述给定两个字符串str1和str2,输出两个字符串的最长公共子串题目保证str1和str2的最长公共子串存在且唯一。示例1输入 "1AB2345CD","12345EF"返回值 "2345"算法思想:1、把两个字符串分别以行和列组成一个二维矩阵。2、比较二维矩阵中每个点对应行列字符中否相等,相等的话if(i == 0 || j == 0) record[i][j] = 1;else record[i][j] = record[

2021-04-19 18:31:43 159

原创 8.两数之和

两数之和题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如: 给出的数组为 {20, 70, 110, 150},目标值为90 输出 index1=1, index2=2 示例1 输入 [3,2,4],6 返回值 [2,3]法一:暴力法

2021-04-19 16:28:08 64

原创 7.最小的k个数

最小的k个数题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组示例1 输入 [4,5,1,6,2,7,3,8],4 返回值 [1,2,3,4]思路方法一使用快速排序,把数据排序后,找到最前面的k个数,该方法需要修改原数据方法二使用SortedMap<>,先把前k个数放进去,后面的数据每次跟map里面的最大的数比较,如

2021-04-18 13:53:15 40

原创 6.输入一棵二叉树,判断该二叉树是否是平衡二叉树

输入一棵二叉树,判断该二叉树是否是平衡二叉树题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。示例1输入 {1,2,3,4,5,6,7}返回值 true/* * @Author helen * @Date 2021/4/16 11:09

2021-04-16 11:14:47 126

原创 5.判断搜索二叉树和完全二叉树

判断搜索二叉树和完全二叉树题目描述给定一棵二叉树,已经其中没有重复值的节点,请判断该二叉树是否为搜索二叉树和完全二叉树。示例1输入 {2,1,3}返回值 [true,true]回顾:搜索二叉树二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。

2021-04-15 19:07:05 133

原创 4.求给定二叉树的最大深度

求给定二叉树的最大深度题目描述求给定二叉树的最大深度,最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量。示例1 输入 {1,2} 返回值 2示例2 输入 {1,2,3,4,#,#,5} 返回值 3算法思想:递归法、使用队列层序遍历二叉树并记录深度package 牛客.树;import java.util.LinkedList;import java.util.Queue;/* * @Author helen

2021-04-15 14:54:47 378

原创 3.树的右视图

请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图示例1输入 [1,2,4,5,3],[4,2,5,1,3]返回值 [1,3,5]思路先根据二叉树的前序遍历,中序遍历恢复二叉树,然后根据二叉树进行层序遍历的方法找到每层的最右结点,并add进list里面,然后转换成整型数组/* * @Author helen * @Date 2021/4/14 15:57 * @Descriptions * 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图

2021-04-14 16:13:11 201

原创 2.重建二叉树

重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。示例1输入 [1,2,3,4,5,6,7],[3,2,4,1,6,5,7]返回值 {1,2,5,3,4,6,7}算法思想:前序遍历序列的第一个元素就是该树的根结点,在中序遍历序列中寻找到该元素后,该元素前面的则为左子树的所有元素,该

2021-04-12 17:29:44 104

原创 1.二叉数的两个节点的最低公共祖先

二叉数的两个节点的最低公共祖先算法思想:public int lowestCommonAncestor (BTreeNode<Integer> root, int o1, int o2) { // write code here if(root == null) return -1; if(root.data == o1 || root.data == o2) return root.data;

2021-04-11 14:47:38 98

空空如也

空空如也

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

TA关注的人

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