![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
没有谁可以给你想要的生活
1
展开
-
350. 两个数组的交集 II
题目描述:给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]提示:1 <= nums1.length, nums2.原创 2022-05-16 11:26:00 · 134 阅读 · 0 评论 -
2250. 统计包含每个点的矩形数目
题目描述:给你一个二维整数数组 rectangles ,其中 rectangles[i] = [li, hi] 表示第 i 个矩形长为 li 高为 hi 。给你一个二维整数数组 points ,其中 points[j] = [xj, yj] 是坐标为 (xj, yj) 的一个点。第 i 个矩形的 左下角 在 (0, 0) 处,右上角 在 (li, hi) 。请你返回一个整数数组 count ,长度为 points.length,其中 count[j]是 包含 第 j 个点的矩形数目。如果 0 <原创 2022-04-26 10:57:51 · 378 阅读 · 0 评论 -
力扣第288常周赛第三题——6039. K 次增加后的最大乘积
知识点:小顶堆和大顶堆题目描述:给你一个非负整数数组 nums 和一个整数 k 。每次操作,你可以选择 nums 中 任一 元素并将它 增加 1 。请你返回 至多 k 次操作后,能得到的 nums的 最大乘积 。由于答案可能很大,请你将答案对 109 + 7 取余后返回。示例 1:输入:nums = [0,4], k = 5 输出:20 解释:将第一个数增加 5 次。 得到 nums = [5, 4] ,乘积为 5 *4 = 20 。 可以证明 20 是能得到的最大乘积,所以我们返回 20 。原创 2022-04-10 17:23:42 · 307 阅读 · 0 评论 -
Java中Comparator的使用
一直对Comparator中的compare方法不太理解,每次用到都要去查好久,这次记录一下自己的理解。需求:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]],每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。现按照身高降序排列,ki按升序排列。身高降序排列:如果person2[0] - person1[0]>0说明后面的人比前后面的人高,需要调整,如果person2[0原创 2022-03-31 11:03:01 · 2367 阅读 · 0 评论 -
LeetCode-1004. 最大连续1的个数 III
知识点:滑动窗口题目描述:给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。示例 1:输入:nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。示例 2:输入:nums = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3输出:10解释:[原创 2022-03-29 10:14:37 · 641 阅读 · 0 评论 -
LeetCode440. 字典序的第K小数字
题目描述:给定整数 n 和 k,返回 [1, n] 中字典序第 k 小的数字。示例 1:输入: n = 13, k = 2输出: 10解释: 字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9],所以第二小的数字是 10。示例 2:输入: n = 1, k = 1输出: 1提示:1 <= k <= n <= 109思路:字典树:简而言之,就是根据数字的前缀进行排序。比如 10 < 9,因为 1原创 2022-03-23 10:14:16 · 103 阅读 · 0 评论 -
LeetCode93. 复原 IP 地址
新知识:public static String join(CharSequence delimiter,Iterable<? extends CharSequence> elements)返回一个新String的副本组成CharSequence elements与指定的副本一起加入delimiter 。For example, List<String> strings = new LinkedList<>(); strings.add("Java");stri原创 2022-03-22 21:27:45 · 82 阅读 · 0 评论 -
左神面试指南——打印两个有序链表我的公共部分
题目描述:给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。代码:public class printCommonPart { public static void printCommonPart(Node head1,Node head2) { System.out.println("Common Part:"); while (head1!=null&&head2!=null) {原创 2021-12-01 11:11:49 · 3666 阅读 · 0 评论 -
LeetCode_每日一题:下一个更大元素 I
先说:这个题目是一个简单题,但是我最先想到的是使用暴力破解去解决。也可以跑通,但是感觉效率不是很高,于是学习了单调栈+HashMap的解决方法。看到一个评论感觉很重要:亲们记住,一但要求下一个更大的元素,就是用单调栈解,力扣题库相似的题目都是这个解法。知识点:单调栈:单调栈中存放的数据应该是有序的,所以单调栈也分为单调递增栈和单调递减栈单调递增栈:单调递增栈就是从栈底到栈顶数据是从大到小单调递减栈:单调递减栈就是从栈底到栈顶数据是从小到大ArrayDeque:ArrayDeque是Deque原创 2021-10-26 15:54:11 · 85 阅读 · 0 评论 -
LeetCode每日一题:240. 搜索二维矩阵 II
题目描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例1:提示:m == matrix.lengthn == matrix[i].length1 <= n, m <= 300-109 <= matrix[i][j] <= 109每行的所有元素从左到右升序排列每列的所有元素从上到下升序排列-109 <= target &l原创 2021-10-25 16:33:52 · 125 阅读 · 0 评论 -
LeetCode.638-每日一题-大礼包
题目描述:在 LeetCode 商店中, 有 n 件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。给你一个整数数组 price 表示物品价格,其中 price[i] 是第 i 件物品的价格。另有一个整数数组 needs 表示购物清单,其中 needs[i] 是需要购买第 i 件物品的数量。还有一个数组 special 表示大礼包,special[i] 的长度为 n + 1 ,其中 special[i][j] 表示第 i 个大礼包中内含第 j 件物品的原创 2021-10-24 16:47:27 · 160 阅读 · 0 评论 -
LeetCode-3.无重复字符的最长子串
研一刚开学,继续开始刷题!希望2年后自己可以有一个好的结果。fighting!!题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。考察知识点原创 2021-10-23 14:06:02 · 53 阅读 · 0 评论 -
leetcode每日一题——959. 由斜杠划分区域
题目描述:在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。(请注意,反斜杠字符是转义的,因此 \ 用 “\” 表示。)。返回区域的数目。提示:1 <= grid.length == grid[0].length <= 30grid[i][j] 是 ‘/’、’’、或 ’ '。解题思路:这道题又是求连通分量的个数问题。我们可以用并查集解决。具体代码:public clas原创 2021-01-25 21:15:49 · 124 阅读 · 0 评论 -
leetcode每日一题——1319. 连通网络的操作次数
题目描述:用以太网线缆将 n 台计算机连接成一个网络,计算机的编号从 0 到 n-1。线缆用 connections 表示,其中 connections[i] = [a, b] 连接了计算机 a 和 b。网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。给你这个计算机网络的初始布线 connections,你可以拔开任意两台直连计算机之间的线缆,并用它连接一对未直连的计算机。请你计算并返回使所有计算机都连通所需的最少操作次数。如果不可能,则返回 -1 。示例:原创 2021-01-23 19:33:35 · 158 阅读 · 0 评论 -
剑指 Offer 55 - II. 平衡二叉树
题目描述:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例1 :示例2:限制:1 <= 树的结点个数 <= 10000思路:今天学习了树形dp,这应该是树形dp中最简单的一道题。一般树形dp都有一个固定的解题思路。1.分析可能性:这一步也是最难最重要的一步。就以这个题目为例,分析一棵树是否是平衡树,有下面四种情况。左子树是平衡树,右子数不是平衡树,这棵树整体不是平衡树。左子树不是平衡原创 2021-01-20 20:11:49 · 61 阅读 · 0 评论 -
leetcode每日一题——684. 冗余连接
题目描述:在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N个节点的树。如果有多个答案,则返回二维数组中最后出现的边。答案边 [u, v] 应满足相同的格式 u <原创 2021-01-13 20:50:36 · 106 阅读 · 0 评论 -
leetcode每日一题——2. 两数相加
题目描述:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9],原创 2021-01-12 20:13:01 · 396 阅读 · 0 评论 -
leetcode每日一题——1202. 交换字符串中的元素
题目描述:给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。你可以 任意多次交换 在 pairs 中任意一对索引处的字符。返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。示例 1:输入:s = “dcab”, pairs = [[0,3],[1,2]]输出:“bacd”解释:交换 s[0] 和 s[3], s = “bcad”交换 s[1] 和 s[2], s = “bacd原创 2021-01-11 14:32:20 · 197 阅读 · 0 评论