leetcode
文章平均质量分 51
台风天赋
Stay hungry;Stay foolish。Stay curiosity~
展开
-
leetcode_491_递增子序列_中等难度
输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]①初始时加入ans中两个元素组成的递增序列,即ans = [[4,6], [4,7], [6,7], [7,7]]。同时,使用ACMap记录下键值对,如记录[4,6]时,则为{[4,6]:1},因为‘6’在nums中的下标为'1'。比如:假设对于nums = [4, 6, 7, 7]。输入: [4, 6, 7, 7]给定数组的长度不会超过15。原创 2020-08-25 11:45:46 · 227 阅读 · 0 评论 -
leetcode_109_有序链表转平衡二叉树_二分法
这几天的题目都不难,所以几天没记录博客2333333333。这个题目难度中等,想到了就比较简单。。。题目:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 ...原创 2020-08-18 10:28:28 · 205 阅读 · 0 评论 -
leetcode_78_得到一个数组所有子集
题目:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思...原创 2020-08-14 09:33:20 · 297 阅读 · 0 评论 -
leetcode_130_被围绕的区域_反向思维_DFS
题目:给定一个二维的矩阵,包含'X'和'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的'O' 用 'X' 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的'O'都不会被填充为'X'。 任何不在边界上,或不与边界上的'O'相连的'O'最终都会被填充为'X'。如果两个...原创 2020-08-11 11:54:53 · 171 阅读 · 0 评论 -
leetcode_93_复原ip地址
老样子,先上题目:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/restore-ip-addresses著作权归领扣网络所有。商业转载.原创 2020-08-09 10:32:15 · 143 阅读 · 0 评论 -
leetcode_337_打家劫舍_核心DFS解决
题目:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例 1:输入: [3,2,3,null,3,null,1] 3 / \ 2 3 \ ...原创 2020-08-05 10:48:07 · 167 阅读 · 0 评论 -
leetcode_207_课程表_拓扑排序
老规矩上题目2333:你这个学期必须选修 numCourse 门课程,记为0到numCourse-1 。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0...原创 2020-08-04 11:19:51 · 176 阅读 · 0 评论 -
leetcode_114_二叉树展开
题目:给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5/ \ \3 4 6将其展开为:1\ 2 \ 3 \ 4 \ 5 \ 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list...原创 2020-08-02 10:41:54 · 167 阅读 · 0 评论 -
leetcode_632_最小区间_双指针解法
题目:你有k个升序排列的整数数组。找到一个最小区间,使得k个列表中的每个列表至少有一个数包含在其中。我们定义如果b-a < d-c或者在b-a == d-c时a < c,则区间 [a,b] 比 [c,d] 小。示例 1:输入:[[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]输出: [20,24]解释:列表 1:[4, 10, 15, 24, 26],24 在区间 [20,24] 中。列表 2:[0, 9, 12,...原创 2020-08-01 12:22:13 · 309 阅读 · 0 评论 -
leetcode_15_三数之和
题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum...原创 2020-07-27 10:07:49 · 141 阅读 · 0 评论 -
leetcode_329_矩阵中的最长递增路径
题目:给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums =[ [9,9,4], [6,6,8], [2,1,1]]输出: 4解释: 最长递增路径为[1, 2, 6, 9]。示例 2:输入: nums =[ [3,4,5], [3,2,6], [2,2,1]]输出: 4解释: 最长递增路径是[3, 4, ...原创 2020-07-26 11:56:30 · 207 阅读 · 0 评论 -
leetcode_410_分割数组的最大值
题目:给定一个非负整数数组和一个整数m,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。注意:数组长度n满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是将其分为[7,2,5] 和 [10,8],因为此时这两个子数组各自的和的最大值为18,在所有情况中最小...原创 2020-07-25 10:06:43 · 273 阅读 · 0 评论 -
leetcode_1025_除数博弈
题目:爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作:选出任一x,满足0 < x < N 且N % x == 0。用 N - x替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回True,否则返回 false。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例 ...原创 2020-07-24 10:00:55 · 171 阅读 · 0 评论 -
leetcode_64_最小路径和
题目:给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-path-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注...原创 2020-07-23 08:24:11 · 107 阅读 · 0 评论 -
leetcode_97_交错字符串
题目:给定三个字符串s1, s2, s3, 验证s3是否是由s1和s2 交错组成的。示例 1:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例2:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出: false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/interleaving-strin...原创 2020-07-18 12:26:54 · 238 阅读 · 0 评论 -
leetcode_785_判断二分图
题目:给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边:graph[i]中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[1,3], [0,2], [1..原创 2020-07-16 12:22:58 · 264 阅读 · 0 评论 -
leetcode_96_不同的二叉搜索树
题目:给定一个整数 n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 ...原创 2020-07-15 15:50:18 · 105 阅读 · 0 评论 -
leetcode_120_三角形最小路径和
题目:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为11(即,2+3+5+1= 11)。说明:如果你可以只使用 O(n)的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会...原创 2020-07-14 11:30:47 · 118 阅读 · 0 评论 -
leetcode_174_地下城游戏
该题很难,思路很难想到。。。一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里的.原创 2020-07-12 16:45:54 · 192 阅读 · 0 评论 -
leetcode_315_计算右侧小于当前元素的个数
这个题需要用到:①逆序对的解决思路。②归并的分治策略③特殊的排序,不动原数组nums,而是另开辟一个保存下标的数组index。并且排序也是在这个index数组上进行的,原数组只是用来比较。题目:给定一个整数数组 nums,按要求返回一个新数组counts。数组 counts 有该性质: counts[i] 的值是nums[i] 右侧小于nums[i] 的元素的数量。示例:输入: [5,2,6,1]输出: [2,1,1,0]解释:5 的右侧有 2 个更小的元素 (2...原创 2020-07-11 22:55:57 · 149 阅读 · 0 评论 -
LeetCode_面试题_17.13_恢复空格
emmmmmmm这个题目很难,,,需要用到Trie字典树,以及动态规划相关知识。算是很重要的一个题目了。手动标记一下23333。------------------------------------------------------------------题目:哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!"已经变成了"iresetthecomputeritstilld原创 2020-07-09 17:25:36 · 174 阅读 · 0 评论 -
LeetCode_面试题_16.11_跳水板
首先看题目:你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}提示:0 < shorter <= longer0 <= k <= 100000来源:力扣(LeetCode)链接:https://l原创 2020-07-08 11:56:57 · 250 阅读 · 0 评论 -
leetcode_112_路径总和
先上题:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为...原创 2020-07-07 08:30:39 · 164 阅读 · 0 评论 -
leetcode_63_不同路径II
题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-paths-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。网格中的障碍物和空位置分别用原创 2020-07-06 12:52:31 · 160 阅读 · 0 评论 -
leetcode_44_通配符匹配
LeetCode的每日打卡题。第13天。。。。---------------------------------------------------题目:给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。...原创 2020-07-05 11:48:00 · 142 阅读 · 0 评论 -
leetcode_215_數組中的第K個最大元素
首先上題目:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-largest.原创 2020-06-29 09:22:24 · 103 阅读 · 0 评论 -
leetcode_209_长度最小的子数组
题目描述:给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum著作权归领扣网络所有。...原创 2020-06-28 11:50:00 · 166 阅读 · 0 评论 -
leetcode238
最近放暑假了。昨天回家坐了一晚上绿皮火车人都要废掉,今日再做话不多说,放题给定长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/product-of-array...原创 2019-07-07 15:27:23 · 306 阅读 · 0 评论 -
leetcode292
推荐一本书--《谈美》,闲话撇开,进入正题-------------------------------------------一行代码解决,又一次运行时间超越100% ^-^。但是空间复杂度较高。各位大佬肯定有空间复杂度更低的,奈何本人资质愚钝。见题:你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你...原创 2019-07-10 13:55:56 · 263 阅读 · 0 评论 -
leetcode237
话不多说,直接上今日份题。。。今天的题很简单。第一次超越100% 枯了华丽丽的分割线------------------------------------------------------------------------------------请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。说明:链表至少包含两个节点。...原创 2019-07-03 13:39:11 · 137 阅读 · 0 评论 -
leetcode_169
题目:在一个数组中找出重复出现次数超过数组长度一半的数。类似众数起初,立马想到使用map记录,这样能达到O(n)的时间复杂度。但是空间开销比较大。后来看到另外一种比很实用的算法----摩尔投票算法其基本思路是:(伪代码形式)for e : nums if count == 0 //初始时 max = e; else ...原创 2019-06-19 13:44:03 · 96 阅读 · 0 评论