力扣
click_tomorrow
这个作者很懒,什么都没留下…
展开
-
851. 喧闹和富有
题目想法richer中存放的是金钱关系的值a,b,可以用一个hashmap存放,hashmap(b)中放比b更有钱的人求answer,实际上是比较比x(包括x)更有钱的集合中,quiet最小的数的编号。我们可以发现,例如,a比b有钱,c比a有钱。那么answer(b)=min{quiet(b),answer(a)}的一个比较关系,b的quiet和a的answer进行比较,所以想到递归/动态规划的方法。转化为了每一个的最优子问题,来回调用的信息(从上往下调用)时间复杂度O(n+m) 空间复杂度O原创 2021-12-15 11:23:36 · 101 阅读 · 0 评论 -
142. 环形链表 II
142. 环形链表 II想法hash存储public class Solution { public ListNode detectCycle(ListNode head) { HashSet<ListNode> hs=new HashSet<>(); ListNode pr=head; while(pr!=null){ if(!hs.contains(pr)){原创 2021-12-13 16:40:46 · 82 阅读 · 0 评论 -
力扣双指针
盛最多水的容器三数之和删除链表的倒数第 N 个结点下一个排列接雨水颜色分类环形链表环形链表 II排序链表相交链表回文链表移动零寻找重复数最短无序连续子数组原创 2021-12-13 16:15:44 · 197 阅读 · 0 评论 -
算法-滑动窗口和双指针
1.双指针同向指针或者反向指针初始:一个指针left,一个指针right移动:left++,right–;条件:left<right反向指针:快慢指针原创 2021-12-13 10:41:31 · 700 阅读 · 0 评论 -
二分查找-278. 第一个错误的版本
278. 第一个错误的版本你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:原创 2021-12-12 15:47:06 · 70 阅读 · 0 评论