![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 85
凉夜热涌
狮子搏兔,亦用全力
展开
-
Java最优队列PriorityQueue自定义排序规则
PriorityQueueJava自带的最优队列,其内部实现方法是一个小顶堆二叉树。最小的节点永远在上方,小顶堆在做前K个这类问题是有比全部排序好的效果。O(Klogn) k<n而整体快排也有O(nlogn)的时间复杂度,所以PriorityQueue是我们必须掌握的一种数据结构。LeetCode 5556. 可以到达的最远建筑给你一个整数数组 heights ,表示建筑物的高度。另有一些砖块 bricks 和梯子 ladders 。你从建筑物 0 开始旅程,不断向后面的建筑物移动,期间可能会原创 2021-01-21 11:35:38 · 6856 阅读 · 3 评论 -
leetcode5556.可以到达的最远建筑
5556. 可以到达的最远建筑给你一个整数数组 heights ,表示建筑物的高度。另有一些砖块 bricks 和梯子 ladders 。你从建筑物 0 开始旅程,不断向后面的建筑物移动,期间可能会用到砖块或梯子。当从建筑物 i 移动到建筑物 i+1(下标 从 0 开始 )时:如果当前建筑物的高度 大于或等于 下一建筑物的高度,则不需要梯子或砖块如果当前建筑的高度 小于 下一个建筑的高度,您可以使用 一架梯子 或 (h[i+1] - h[i]) 个砖块如果以最佳方式使用给定的梯子和砖块,返回你可原创 2020-11-01 15:36:39 · 210 阅读 · 0 评论 -
力扣701. 二叉搜索树中的插入操作(Java递归时间最优)
二叉搜索树中的插入操作给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和 插入的值: 5你可以返回这个二叉搜索树: 4 / \ 2 7 / \ /1 3.原创 2020-09-30 11:41:39 · 192 阅读 · 0 评论 -
leetcode107. 二叉树的层次遍历 II
题目描述 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树**[3,9,20,null,null,15,7]** 3 / \9 20 / \ 15 7返回返回其自底向上的层次遍历为:[[15,7],[9,20],[3]]解题思路 广度优先遍历(BFS):使用队列结构保存节点,当队列不为空的时候,把当第一个节点存到当前层级的集合原创 2020-09-06 14:22:15 · 119 阅读 · 1 评论 -
leetcode209. 长度最小的子数组
链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum/思路 创建两个数组索引 L(左),R(右),每次比较两索引之间的值和是否大于s,如果大于等于s,记录当前最小满足条件长度,并将L索引+1。如果小于s,则将R索引+1,使用while循环。结果代码如下:public int minSubArrayLen(int s, int[] nums) { if (nums.length == 0) {原创 2020-08-02 17:26:13 · 113 阅读 · 0 评论