![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode/力扣
文章平均质量分 52
洌泉_就这样吧
Less is more.
展开
-
【LeetCode/力扣】1185. 一周中的第几天
1 题目描述题目链接:https://leetcode-cn.com/problems/all-nodes-distance-k-in-binary-tree/solution/c-jie-jue-er-cha-shu-wen-ti-di-gui-yyds-7pm66/给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和 year,分别表示日、月、年。您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “原创 2022-01-03 11:31:21 · 97 阅读 · 0 评论 -
【LeetCode/力扣】863. 二叉树中所有距离为 K 的结点
1 题目描述题目链接:https://leetcode-cn.com/problems/all-nodes-distance-k-in-binary-tree/solution/c-jie-jue-er-cha-shu-wen-ti-di-gui-yyds-7pm66/给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。示例 1:输入:root = [3,5,1,6原创 2021-07-28 09:38:59 · 162 阅读 · 0 评论 -
【LeetCode/力扣】300. 最长递增子序列
1 题目描述题目链接:https://leetcode-cn.com/problems/longest-increasing-subsequence/给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101原创 2021-07-26 15:49:50 · 215 阅读 · 0 评论 -
【C++项目实战】随机链表创建和深拷贝(克隆)
知识点题目来源:https://leetcode-cn.com/problems/copy-list-with-random-pointer/结构体使用链表创建递归算法引用传参哈希表使用代码#include<iostream>#include<unordered_map>using namespace std;struct Node{ // 创建结构体 int val; // 节点值 Node *next, *random; // 节点指针原创 2021-07-22 11:17:59 · 304 阅读 · 0 评论 -
【LeetCode/力扣】1818. 绝对差值和
1 题目描述题目链接:https://leetcode-cn.com/problems/minimum-absolute-sum-difference/添加链接描述给你两个正整数数组 nums1 和 nums2 ,数组的长度都是 n 。数组 nums1 和 nums2 的 绝对差值和 定义为所有 |nums1[i] - nums2[i]|(0 <= i < n)的 总和(下标从 0 开始)。你可以选用 nums1 中的 任意一个 元素来替换 nums1 中的 至多 一个元素,以 最小化原创 2021-07-14 09:33:16 · 123 阅读 · 0 评论 -
【LeetCode/力扣】面试题 17.10. 主要元素(摩尔投票法)
1 题目描述题目链接:https://leetcode-cn.com/problems/find-majority-element-lcci/数组中占比超过一半的元素称之为主要元素。给你一个 整数 数组,找出其中的主要元素。若没有,返回 -1 。请设计时间复杂度为 O(N) 、空间复杂度为 O(1) 的解决方案。示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1示例 3:输入:[2,2,1,1,1,2,2]输出:22 代码/C++原创 2021-07-09 09:19:41 · 102 阅读 · 0 评论 -
【LeetCode/力扣】1418. 点菜展示表
1 题目描述题目链接:https://leetcode-cn.com/problems/display-table-of-food-orders-in-a-restaurant/给你一个数组 orders,表示客户在餐厅中完成的订单,确切地说, orders[i]=[customerNamei,tableNumberi,foodItemi] ,其中 customerNamei 是客户的姓名,tableNumberi 是客户所在餐桌的桌号,而 foodItemi 是客户点的餐品名称。请你返回该餐厅的原创 2021-07-06 09:44:10 · 91 阅读 · 0 评论 -
【LeetCode/力扣】726. 原子的数量
1 题目描述题目链接:https://leetcode-cn.com/problems/number-of-atoms/给定一个化学式formula(作为字符串),返回每种原子的数量。原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字。如果数量大于 1,原子后会跟着数字表示原子的数量。如果数量等于 1 则不会跟数字。例如,H2O 和 H2O2 是可行的,但 H1O2 这个表达是不可行的。两个化学式连在一起是新的化学式。例如 H2O2He3Mg4 也是化学式。一个括号中的化原创 2021-07-05 11:23:32 · 278 阅读 · 0 评论 -
【LeetCode/力扣】879. 盈利计划
1 题目描述题目链接:https://leetcode-cn.com/problems/profitable-schemes/集团里有 n 名员工,他们可以完成各种各样的工作创造利润。第 i 种工作会产生 profit[i] 的利润,它要求 group[i] 名成员共同参与。如果成员参与了其中一项工作,就不能参与另一项工作。工作的任何至少产生 minProfit 利润的子集称为 盈利计划 。并且工作的成员总数最多为 n 。有多少种计划可以选择?因为答案很大,所以 返回结果模 10^9 + 7 的原创 2021-06-09 09:39:13 · 117 阅读 · 0 评论 -
【LeetCode/力扣】494. 目标和
1 题目描述题目链接:https://leetcode-cn.com/problems/target-sum/–给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1” 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。示例 1:输入:nu原创 2021-06-07 15:12:59 · 91 阅读 · 0 评论 -
【LeetCode/力扣】525. 连续数组
1 题目描述题目链接:https://leetcode-cn.com/problems/contiguous-array/给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。2 代码原创 2021-06-03 09:14:42 · 85 阅读 · 0 评论 -
【LeetCode/力扣】1190. 反转每对括号间的子串
1 题目描述题目链接:https://leetcode-cn.com/problems/reverse-substrings-between-each-pair-of-parentheses/给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例 1:输入:s = “(abcd)”输出:“dcba”示例 2:输入:s = “(u(love)i)”输出:“iloveu”示原创 2021-05-26 10:50:20 · 116 阅读 · 0 评论 -
【LeetCode/力扣】664. 奇怪的打印机
1 题目描述题目链接:https://leetcode-cn.com/problems/strange-printer/有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例 1:输入:s = “aaabbb”输出:2解释:首先打印 “aaa” 然后打印 “bbb”。示例 2:输入:s = “aba”输出:2原创 2021-05-24 09:44:57 · 227 阅读 · 0 评论 -
快速排序(Quick Sort)
1 概述快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。2 算法流程每一步以序列初始为基准,将小于基准的元素放左边,大于基准的元素放右边完成步骤1之后,再递归调用对基准左边和基准右边分别进行排序循环步骤1和步骤2,递归调用的终止条件是数组长度小于等于13 代码/Python# 快排的输入是数组和两个端点下标def QuickSort(nums, i, j): # 递原创 2021-05-21 10:56:08 · 112 阅读 · 0 评论 -
【LeetCode/力扣】1035. 不相交的线
1 题目描述题目链接:https://leetcode-cn.com/problems/uncrossed-lines/在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足满足:nums1[i] == nums2[j]且绘制的直线不与任何其他连线(非水平线)相交。请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。原创 2021-05-21 09:41:47 · 226 阅读 · 0 评论 -
【LeetCode/力扣】692. 前K个高频单词
1 题目描述题目链接:https://leetcode-cn.com/problems/top-k-frequent-words/给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,原创 2021-05-20 08:51:51 · 151 阅读 · 0 评论 -
【LeetCode/力扣】1738. 找出第 K 大的异或坐标值
1 题目描述题目链接:https://leetcode-cn.com/problems/find-kth-largest-xor-coordinate-value/给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matri原创 2021-05-19 10:25:01 · 90 阅读 · 0 评论 -
【LeetCode/力扣】1442. 形成两个异或相等数组的三元组数目
1 题目描述题目链接:https://leetcode-cn.com/problems/count-triplets-that-can-form-two-arrays-of-equal-xor/给你一个整数数组 arr 。现需要从数组中取三个下标 i、j 和 k ,其中 (0 <= i < j <= k < arr.length) 。a 和 b 定义如下:a = arr[i] ^ arr[i + 1] ^ … ^ arr[j - 1]b = arr[j] ^ arr[j原创 2021-05-18 10:48:04 · 105 阅读 · 0 评论 -
【LeetCode/力扣】12. 整数转罗马数字
1 题目描述题目链接:https://leetcode-cn.com/problems/integer-to-roman/罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个原创 2021-05-14 08:52:32 · 82 阅读 · 0 评论 -
【LeetCode/力扣】1269. 停在原地的方案数
1 题目描述题目链接:https://leetcode-cn.com/problems/number-of-ways-to-stay-in-the-same-place-after-some-steps/有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处。每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指针不能被移动到数组范围外)。给你两个整数 steps 和 arrLen ,请你计算并返回:在恰好执行 steps 次操作以后,指针仍然指向索引 0 处的方案数。由于原创 2021-05-13 14:19:39 · 101 阅读 · 0 评论 -
【LeetCode/力扣】1310. 子数组异或查询
1 题目描述题目链接:https://leetcode-cn.com/problems/xor-queries-of-a-subarray/有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。并返回一个包含给定查询 queries 所有结果的数组。示例 1:输入:原创 2021-05-12 09:38:46 · 125 阅读 · 0 评论 -
【LeetCode/力扣】1734. 解码异或后的排列
1 题目描述题目连接:https://leetcode-cn.com/problems/decode-xored-permutation/给你一个整数数组 perm ,它是前 n 个正整数的排列,且 n 是个 奇数 。它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i] = perm[i] XOR perm[i + 1] 。比方说,如果 perm = [1,3,2] ,那么 encoded = [2,1] 。给你 encoded 数组,请你返回原始数组 pe原创 2021-05-11 09:22:44 · 125 阅读 · 0 评论 -
【LeetCode/力扣】872. 叶子相似的树
1 题目描述题目链接:https://leetcode-cn.com/problems/leaf-similar-trees/请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。如果给定的两个根结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。示例 1:输入:roo原创 2021-05-10 09:10:23 · 105 阅读 · 0 评论 -
【LeetCode/力扣】1723. 完成所有工作的最短时间
1 题目描述题目链接:https://leetcode-cn.com/problems/find-minimum-time-to-finish-all-jobs/给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间。请你将这些工作分配给 k 位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的 最大工作时间 得以 最小化 。返回分配方案中尽可能 最小 的原创 2021-05-08 11:15:11 · 574 阅读 · 0 评论 -
【LeetCode/力扣】2. 两数相加
1 题目描述题目链接:https://leetcode-cn.com/problems/add-two-numbers/给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输原创 2021-05-07 09:21:14 · 80 阅读 · 0 评论 -
【LeetCode/力扣】1486. 数组异或操作
1 题目描述题目链接:https://leetcode-cn.com/problems/xor-operation-in-an-array/给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。示例 1:输入:n = 5, start = 0输出:8解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^原创 2021-05-07 08:50:35 · 138 阅读 · 0 评论 -
【LeetCode/力扣】1720. 解码异或后的数组
1 题目描述题目链接:https://leetcode-cn.com/problems/decode-xored-array/未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0]原创 2021-05-06 15:48:59 · 120 阅读 · 0 评论 -
【LeetCode/力扣】1160. 拼写单词
1 题目描述题目链接:https://leetcode-cn.com/problems/find-words-that-can-be-formed-by-characters/给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能用一次。返回词汇表 words 中原创 2021-05-06 14:45:09 · 178 阅读 · 0 评论 -
【LeetCode/力扣】350. 两个数组的交集 II
1 题目描述题目链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑原创 2021-05-06 11:07:40 · 85 阅读 · 0 评论 -
【LeetCode/力扣】44. 通配符匹配
1 题目描述题目链接:https://leetcode-cn.com/problems/wildcard-matching/给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1:输入:s = “aa”p原创 2021-05-06 10:37:33 · 258 阅读 · 0 评论 -
【LeetCode/力扣】8. 字符串转换整数 (atoi)
1 题目描述题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数原创 2021-05-06 10:35:04 · 79 阅读 · 0 评论 -
【LeetCode/力扣】4. 寻找两个正序数组的中位数
1 题目描述题目链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?说明:示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2原创 2021-05-06 10:30:12 · 60 阅读 · 0 评论