算法
文章平均质量分 96
yue_hu
成长源于积累
展开
-
助你刷题LeetCode - 常见算法(持续更新中)
刷题LeetCode常见算法原创 2022-01-11 11:30:43 · 978 阅读 · 0 评论 -
【LeetCode闲暇一题】207. 课程表【中等】
题目:你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例2:输入: 2, [[1,0],[0,1]]输出: false原创 2020-08-06 11:45:42 · 262 阅读 · 0 评论 -
深度优先搜索(DFS)与宽度优先搜索(BFS)
深度优先搜索和宽度优先搜索是两种不用的搜索理念。深度优先搜索深度优先搜索会选择当前节点的一个子节点进行深入,然后对子节点再进行深度优先搜索,一直搜索到叶节点,然后向上回溯,再对另一个子节点进行深度优先搜索。既先进行深度搜索,深度搜索无目标时进行宽度搜索。找到目标则结束搜索。深度优先搜索用栈(stack)来实现1、把根节点压入栈中。2、从栈中弹出一个元素,检查是否为目标元素,如果是则结束。如果不是,则将其所有的子节点压入栈中,然后重复此步骤。3、如果树遍历完毕还没有搜素到则结束。.原创 2020-08-05 19:29:13 · 6884 阅读 · 0 评论 -
【LeetCode闲暇一题】209. 长度最小的子数组【中等】
题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了 O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。来源:力扣(LeetCode)链接:https://leetcode-cn.com原创 2020-06-29 17:15:30 · 437 阅读 · 0 评论 -
【LeetCode闲暇一题】41. 缺失的第一个正数【困难】
题目:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-missing-positive著作权归领扣网络所有。商业转载请联系官方授权原创 2020-06-28 11:11:08 · 252 阅读 · 0 评论 -
【LeetCode闲暇一题】67. 二进制求和【简单】
题目:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”提示:每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。1 <= a.length, b.length <= 10^4 字符串如果不是 “0”,就都不含前导零。来源:力扣(LeetCode) 链接:https:/原创 2020-06-27 11:38:57 · 325 阅读 · 0 评论 -
【LeetCode闲暇一题】1014. 最佳观光组合
题目:给定正整数数组 A,A[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的距离为 j - i。一对景点(i < j)组成的观光组合的得分为(A[i] + A[j] + i - j):景点的评分之和减去它们两者之间的距离。返回一对观光景点能取得的最高分。示例:输入:[8,1,5,2,6]输出:11解释:i = 0, j = 2, A[i] + A[j] + i - j = 8 + 5 + 0 - 2 = 11提示:2 <= A.length <=原创 2020-06-23 15:48:43 · 415 阅读 · 0 评论 -
【LeetCode闲暇一题】1028. 从先序遍历还原二叉树
题目:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。如果节点只有一个子节点,那么保证该子节点为左子节点。 给出遍历输出 S,还原树并返回其根节点 root。示例 1:输入:“1-2–3--4-5–6--7”输出:[1,2,5,3,4,6,7]示例 2:输入:“1-2–3—4-5–6—7”输出:[1,2,原创 2020-06-22 17:43:37 · 344 阅读 · 0 评论