LeetCode
时大雷
这个作者很懒,什么都没留下…
展开
-
字符串匹配算法-最全
字符串匹配算法-最全一、常用字符串匹配算法及其简介二、算法实现及解析算法解决问题点1、BF算法(时间复杂度O(mn))2、RK算法(时间复杂度O(n))3、BM算法4、KMP算法 一、常用字符串匹配算法及其简介 BF算法、RK算法,BM算法,KMP算法 BF算法简介: 链接: https://mp.weixin.qq.com/s/67uf7pRxXh7Iwm7MMpqJoA. RK算法简介: 链接: https://mp.weixin.qq.com/s/67uf7pRxXh7Iwm7MMpqJoA. BM算原创 2020-09-28 21:01:09 · 1330 阅读 · 0 评论 -
LeetCode-130. 被围绕的区域
LeetCode-130. 被围绕的区域一、题目内容二、题解过程1、遍历算法分析2、解法2.1 方法一:深度优先搜索2.2 方法二:广度优先遍历 -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O原创 2020-08-13 21:30:47 · 140 阅读 · 0 评论 -
LeetCode-207. 课程表
LeetCode-207. 课程表一、题目内容二、题解过程1、解题思路2、图算法简单讲解2.1图的各种存储结构及实现3、算法简介4、解法解法一(深度优先遍历):解法二(广度优先遍历) -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 你这个学期必须选修 numCourse 门课程,记为 0到 numCourse-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程0 ,你需要先完成课程 1,我们用一个匹配来表示他们:[0,1] 给定课程总量以及它们的先决条件,请你判断是否可能完成所原创 2020-08-05 15:58:31 · 245 阅读 · 1 评论 -
343. 整数拆分
LeetCode-343. 整数拆分 一、题目内容 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 示例 2: 输入: 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。 说明: 你可以假设 n 不小于 2 且不大于 58。 二、题解过程 1、问题分析 求最值问题最先想到的就是动态规划问题。动态规划的核心问题就是穷举。因原创 2020-07-30 11:02:20 · 111 阅读 · 0 评论 -
146. LRU缓存机制(手把手教你拆解LRU算法)
LeetCode-146. LRU缓存机制(手把手教你拆解LRU算法) -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「原创 2020-07-28 14:47:09 · 208 阅读 · 0 评论 -
LeetCode-64.最小路径和
LeetCode-64.最小路径和 一、题目内容 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。 二、题解过程 1、问题分析 求最值问题最先想到的就是动态规划问题。动态规划的核心问题就是穷举。因为要求最值,肯定要把所有可行的答案穷举出来,然后求最值。但是动态规划有点特别,因为原创 2020-07-23 21:46:04 · 86 阅读 · 0 评论 -
LeetCode-297. 二叉树的序列化和反序列化(最全解法)
LeetCode-297. 二叉树的序列化和反序列化一、题目内容二、题解过程1、什么是序列化和反序列化2、遍历算法分析及实现框架3、解法解法一(前序遍历解法):解法二(后续遍历解法)解法三(中续遍历解法)解法四(层级遍历解法) -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列原创 2020-07-22 14:26:59 · 173 阅读 · 0 评论 -
LeetCode-785. 判断二分图(附带算法详解)
LeetCode-785. 判断二分图 -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 给定一个无向图graph,当这个图为二分图时返回true。 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。 graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边: graph[i] 中不存在i,并且原创 2020-07-20 11:36:51 · 514 阅读 · 0 评论 -
LeetCode-120.三角形最小路径和
LeetCode-120.三角形最小路径和 -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 说明: 如果你可以只使用 O(n) 的额外空间(n原创 2020-07-15 10:59:53 · 88 阅读 · 0 评论 -
LeetCode-309. 最佳买卖股票时机含冷冻期
LeetCode-309. 最佳买卖股票时机含冷冻期 -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。 示例: 输入: [1,2,3,0,2] 输出: 3 解释: 对应的交易状态为: [买入, 卖出原创 2020-07-13 10:57:36 · 174 阅读 · 0 评论 -
LeetCode-面试题 17.13. 恢复空格
LeetCode-面试题 17.13. 恢复空格 -.- 这题不会做,记录下大佬的题解(难度:中等) 一、题目内容 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用senten原创 2020-07-10 11:52:42 · 144 阅读 · 0 评论