
Leetcode
小菜猫
今天也要开心呀
展开
-
LeetCode 1030---- 距离顺序排列矩阵单元格
给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。另外,我们在该矩阵中给出了一个坐标为(r0, c0) 的单元格。返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1) 和 (r2, c2) 之间的距离是曼哈顿距离,|r1 - r2| + |c1 - c2|。(你可以按任何满足此条件的顺序返回答案。)示例 1:输入:R = 1, ..原创 2020-11-17 17:58:08 · 232 阅读 · 0 评论 -
LeetCode 406----根据身高重建队列
假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4],[4,1][7,1], [5,0], [6,1], [5,2]]输出:[[5,0],[4,1] [7,0], [5,2], [4,4], [6,1], [7,1]] 解题思路:对于这道题,一看就会觉得是插入,但是要怎么个插入法呢?就拿...原创 2020-11-16 22:45:19 · 204 阅读 · 0 评论 -
LeetCode 1122题----数组的相对排序
给你两个数组,arr1 和arr2,arr2中的元素各不相同arr2 中的每个元素都出现在arr1中对 arr1中的元素进行排序,使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,4,3,3,9,6,7,19]提示:arr1.length, arr2.len...原创 2020-11-14 16:35:28 · 643 阅读 · 0 评论 -
LeetCode 328题----奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2->4->NULL示例 2:输入: 2->1->3->5->6->原创 2020-11-13 20:58:01 · 254 阅读 · 0 评论 -
LeetCode 32题---- 最长有效括号
给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号的子串的长度。示例1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 一看这个题目,最值,典型的dp,这题真的是花了我一个多小时,刷题都快刷哭了,昨天刚刚建立起来的觉得自己dp可的自信心又被摧毁的体无完肤,哎,还是要记录一下自己的解题历程。 对一道dp问题的求解可以分为四步:确定状态:...原创 2020-11-12 22:26:23 · 158 阅读 · 0 评论 -
LeetCode 922----按奇偶排序数组 II
给定一个非负整数数组A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i] 为奇数时,i也是奇数;当A[i]为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 <= A.length <= 20000A.length % 2 == 00 <= A[i] <=...原创 2020-11-12 20:22:32 · 170 阅读 · 0 评论 -
LeetCode 514题----自由之路
电子游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。最初,ring 的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00 方向对齐,然后按下中心按钮,以此逐个拼写完 key 中的所有字符。旋转 ring 拼出 key 字原创 2020-11-11 21:52:34 · 177 阅读 · 0 评论 -
LeetCode 34题---- 在排序数组中查找元素的第一个和最后一个位置
题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1] 解题思路:这个题目咋一看,查找还是...原创 2020-11-10 20:10:58 · 136 阅读 · 0 评论 -
LeetCode973题------最接近原点的 K 个点
我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。(这里,平面上两点之间的距离是欧几里德距离。)你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。示例 1:输入:points = [[1,3],[-2,2]], K = 1输出:[[-2,2]]解释:(1, 3) 和原点之间的距离为 sqrt(10),(-2, 2) 和原点之间的距离为 sqrt(8),由于 sqrt(8) < sqrt(10),(-2, 2) 离原点更原创 2020-11-09 18:08:15 · 250 阅读 · 0 评论 -
leetcode第617题---合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。示例1:输入: Tree 1 Tree 2 ...原创 2019-08-13 18:45:13 · 286 阅读 · 0 评论 -
leetcode第538题---把二叉搜索树转换为累加树
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18 / ...原创 2019-08-13 17:11:28 · 245 阅读 · 0 评论 -
leetcode第572---另一个树的子树
给定两个非空二叉树 s 和 t,检验s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \1 2给定的树 t: 4 / \1 2返回 true,因为 t 与 s 的一个子树拥有相同的结构和...原创 2019-08-13 16:34:25 · 152 阅读 · 0 评论 -
背包问题
1 类型布尔值 计数 最值 单一物品 无限多物品 空间优化:1)滚动数组 2)2 重点:背包问题中,数组的大小和总承重有关3 动态规划的四步骤:确定状态:确定状态时根据最后一个问题和子问题 转移方程 初始条件和边界情况 计算顺序4 描述: 你有一个背包,背包有最大承重,商店里有若干物品,都是免费拿,每个物品有重量和价值目标:不撑爆背包的前提下– 装下...原创 2019-07-14 15:48:54 · 457 阅读 · 0 评论 -
leetcode第三题:无重复字符最长字串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 请注意,你的答案必须是 子串 的长度。对于这个题,可以遍历一遍字符串,给...原创 2019-05-16 21:02:29 · 174 阅读 · 0 评论 -
leetcode第七题:整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解题思...原创 2019-05-24 20:52:05 · 241 阅读 · 1 评论 -
leetcode第四题:寻找两个有序数组的中位数
给定两个大小为 m 和 n 的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位...原创 2019-05-16 21:36:30 · 181 阅读 · 0 评论