- 博客(26)
- 收藏
- 关注
原创 java实现堆排序
public static void heapSort(int[] arr){ if(arr == null || arr.length < 2) return ; //构建大顶堆 //定义开始调整的位置,从最后一个非叶子节点开始(完全二叉树的性质) for(int i = arr.length / 2 - 1; i >= 0; i --){ toMaxHeap(arr, arr.length, i)...
2022-02-19 20:12:20
400
转载 【转载】面试常见七大排序 java实现
https://blog.youkuaiyun.com/vv___/article/details/104575466
2022-02-19 16:24:57
199
原创 java实现冒泡排序
转载。本文链接:https://blog.youkuaiyun.com/weixin_46511092/article/details/110938368
2022-02-19 15:50:51
309
原创 【邻接图】解决图的模板
例题今天做了几个邻接图的问题,总结了一个惯用的套路模板,以leetcode1971(双向图、简单)、leetcode1042(双向图、中等)、leetcode997(单向图、简单)为例:leetcode 1971有一个具有 n个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数组 edges 表示,其中 edges[i] = [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接,并且没有顶点存在与自身
2022-01-16 16:27:23
1172
原创 leetcode5.最长回文子串(马拉车算法)
给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成class Solution { public String longestPalind
2021-12-23 16:53:53
590
原创 JZ14 剪绳子
描述给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳子的长度记为 k[1],…,k[m] 。请问 k[1]k[2]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是 8 时,我们把它剪成长度分别为 2、3、3 的三段,此时得到的最大乘积是 18 。数据范围: 2 \le n \le 602≤n≤60进阶:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)输入描述:输入一个
2021-11-01 21:42:50
135
原创 JZ45 把数组排成最小的数
描述输入一个正整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组[3,32,321],则打印出这三个数字能排成的最小数字为321323。数据范围:0<=len(numbers)<=100示例1输入:[3,32,321]返回值:“321323”示例2输入:[]返回值:“”示例3输入:[3,33,3334,33332]返回值:“333323333334”import java.util.ArrayLis
2021-10-28 22:06:08
141
原创 JZ41 数据流中的中位数
描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。示例1输入:[5,2,3,4,1,6,7,0,8]返回值:"5.00 3.50 3.00 3.50 3.00 3.50 4.00 3.50 4.00 "说明:数据流里面不断吐出的是5,2,3…,则得到的平均数分
2021-10-25 22:26:44
222
原创 JZ51 数组中的逆序对
描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P mod 1000000007数据范围: 对于 50%50% 的数据, size\leq 10^4size≤104对于 100%100% 的数据, size\leq 10^5size≤105数组中所有数字的值满足 0 \le val \le 10000000≤val≤1000000要求:空间复杂度 O(n)O(
2021-10-24 23:23:59
218
1
原创 java实现归并排序
原文链接:https://www.cnblogs.com/of-fanruice/p/7678801.html理解后代码尝试如下public class test1024 { public static void main(String []args){ int []arr = {9,8,7,6,5,4,3,2,1}; sort(arr); System.out.println(Arrays.toString(arr)); } pu
2021-10-24 22:35:51
1602
原创 JZ12 矩阵中的路径
原题地址:https://www.nowcoder.com/practice/2a49359695a544b8939c77358d29b7e6?tpId=13&tqId=1517966&ru=/practice/72a5a919508a4251859fb2cfb987a0e6&qru=/ta/coding-interviews/question-ranking题解:回溯法经典题import java.util.*;public class Solution { /*
2021-10-24 16:37:04
143
原创 JZ11 旋转数组的最小数字
描述有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。数据范围:1 \le n \le 100001≤n≤10000,数组中任意元素的值: 0 \le val \le 100000≤val≤10000要求:空间复杂度:O(1)O(1) ,时间复杂度:O(logn)O(logn)示例1输入:[3,4
2021-10-24 01:23:40
191
原创 JZ59 滑动窗口的最大值
描述给定一个长度为 n 的数组 num 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2
2021-10-23 22:51:13
354
原创 2021-10-23
描述请实现两个函数,分别用来序列化和反序列化二叉树,不对序列化之后的字符串进行约束,但要求能够根据序列化之后的字符串重新构造出一棵与原二叉树相同的树。**二叉树的序列化(Serialize)**是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树等遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#)**二叉树的反序列化(Deserialize)**是指:根据某种遍历顺序得
2021-10-23 17:10:06
226
原创 JZ78 把二叉树打印成多行
描述给定一个节点数为 n 二叉树,要求从上到下按层打印二叉树的 val 值,同一层结点从左至右输出。每一层输出一行。例如:给定的二叉树是{1,2,3,#,#,4,5}该二叉树多行打印层序遍历的结果是[[1],[2,3],[4,5]]数据范围:二叉树的节点数 0 \le n \le 10000≤n≤1000,0 \le val \le 10000≤val≤1000要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)输入描述:给定一个二叉树的根节点示例1输入:{1,
2021-10-23 15:19:00
121
原创 JZ28 对称的二叉树
描述请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。示例1输入:{8,6,6,5,7,7,5}返回值:true示例2输入:{8,6,9,5,7,7,5}返回值:false题解根据题意可知,若满足对称二叉树,必须满足:root.left.val == root.right.val && root.left是对称二叉树 && root.right是对称二叉树。因此可以自顶向下,递归求解即可。
2021-10-23 14:53:11
76
原创 JZ79 平衡二叉树
描述输入一棵节点数为 n 二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。样例解释:样例二叉树如图,为一颗平衡二叉树注:我们约定空树是平衡二叉树。数据范围:n \le 100n≤100,树上节点的val值满足 0 \le n \le 10000≤n≤1000要求:空间复杂度O(1)
2021-10-21 23:22:28
90
原创 JZ34 二叉树中和为某一值的路径
描述输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值的和为expectNumber的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。如二叉树root为{10,5,12,4,7},expectNumber为22则合法路径有[[10,5,7],[10,12]]数据范围:树中节点总数在范围 [0, 5000] 内-1000 <= 节点值 <= 1000-1000 <= expectNumber <= 1000
2021-10-21 13:47:47
124
原创 JZ27 二叉树的镜像
描述操作给定的二叉树,将其变换为源二叉树的镜像。数据范围:二叉树的节点数 0 \le n \le 10000≤n≤1000 , 二叉树每个节点的值 0\le val \le 1000 0≤val≤1000要求: 空间复杂度 O(n)O(n) 。本题也有原地操作,即空间复杂度 O(1)O(1) 的解法,时间复杂度 O(n)O(n)比如:示例1输入:{8,6,10,5,7,9,11}返回值:{8,10,6,11,9,7,5}说明:如题面所示示例2输入:{}返回值:{}解题思
2021-10-20 13:39:50
156
原创 JZ54 二叉搜索树的第k个结点
描述给定一棵结点数为 n 二叉搜索树,请找出其中的第 k 小的TreeNode结点。数据范围: 0 \le n <= 1000≤n<=100,0\le k \le 1000≤k≤100,树上每个结点的值满足 0 \le val \le 100 0≤val≤100要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)注意:不是返回结点的值如输入{5,3,7,2,4,6,8},3时,二叉树{5,3,7,2,4,6,8}如下图所示:...
2021-10-19 21:16:03
149
原创 JZ55 二叉树的深度
描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。示例1输入:{1,2,3,4,5,#,6,#,#,7}返回值:4解题思路1.递归遇见二叉树第一时间想到递归,话不多说,代码如下:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(i
2021-10-19 13:39:22
132
原创 快速排序算法java实现
定义MySort快速排序函数 public int[] MySort (int[] arr) { // write code here //Arrays.sort(arr); //return arr; if(arr == null) return null; quickSort(arr, 0, arr.length - 1); return arr; }写法一:第一种写法:左边寻找一个比基
2021-10-12 21:09:22
98
原创 JZ29:最小的K个数
最小的K个数描述思路一:优先队列描述给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。数据范围:0\le k,n \le 100000≤k,n≤10000,数组中每个数的大小0 \le val \le 1000 0≤val≤1000要求:空间复杂度 O(n)O(n) ,时间复杂度 O(nlogn)O(nlogn)示例1输入:[4,5,1,6,2,7,3,8],4
2021-10-12 20:52:49
358
原创 java中HashMap原理
https://baijiahao.baidu.com/s?id=1618550070727689060&wfr=spider&for=pc
2019-07-23 15:47:50
66
原创 在word2016中给公式添加序号
原文出处:https://blog.youkuaiyun.com/vector_Lu/article/details/80330390
2019-07-02 11:25:16
4194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人