自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 聊聊JVM的年轻代

1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出...

2019-04-28 11:04:44 98

原创 LeetCode 103—二叉树的锯齿形层次遍历

技巧:用两个栈实现不同层之间的遍历 public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<>(); if (root == null) return res; Stac...

2019-04-25 21:11:41 79

原创 LeetCode 102—二叉树的层次遍历

// 递归 public List<List<Integer>> levelOrder(TreeNode root) { if (root == null) { return null; } List<List<Integer>> result = new ArrayList<>(); Queue<Tr...

2019-04-25 21:08:41 66

转载 十大经典排序算法(动图演示)

0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 0.2 算法复杂度 0.3 相关概念 稳定:如果a原本在b前...

2019-04-17 09:56:26 188

原创 LeetCode113—路径总和 II

递归: // 递归 public List<List<Integer>> pathSum(TreeNode root, int sum) { List<List<Integer>> res = new ArrayList<>(); List<Integer> out = new ArrayList<>...

2019-04-15 10:14:03 102

原创 LeetCode 112—路径总和

递归: public boolean hasPathSum(TreeNode root, int sum) { if(root==null) return false; if(root.left==null&&root.right==null&&sum==0) return true; return hasPathSum(root.left,...

2019-04-13 20:53:35 73

原创 LeetCode 101—对称二叉树

判断二叉树是否是平衡树,比如有两个节点n1, n2,我们需要比较n1的左子节点的值和n2的右子节点的值是否相等,同时还要比较n1的右子节点的值和n2的左子结点的值是否相等,以此类推比较完所有的左右两个节点。我们可以用递归和迭代两种方法来实现,写法不同,但是算法核心都一样。 1.递归解法: public boolean isSymmetric(TreeNode root) { if (roo...

2019-04-03 14:36:28 103

原创 LeetCode 226—— 翻转二叉树

1.递归解法: public TreeNode invertTree(TreeNode root) { if(root==null) return null; TreeNode temp=root.left; root.left=invertTree(root.right); root.right=invertTree(t...

2019-04-03 13:22:07 105

原创 LeetCode 105—从前序与中序遍历序列构造二叉树

首先需要确定,在前序遍历中,第一个节点为根节点,则根据根节点,可以在中序遍历中划分左右子树 在左右子树中,前序遍历的第一个节点为根节点,再继续划分左右子树 //根据前序遍历和中序遍历构建二叉树 public TreeNode buildTree(int[] preorder, int[] inorder) { return buildTreeCore(preorder, 0, pr...

2019-04-03 10:50:23 71

空空如也

空空如也

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

TA关注的人

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