LeetCode
文章平均质量分 60
yue_hu
成长源于积累
展开
-
【LeetCode闲暇一题】34. 在排序数组中查找元素的第一个和最后一个位置【中等】关键词:数组;二分查找
题目给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6 输出:[-1,-1]示例 3:输入:nums =原创 2021-11-30 23:42:22 · 106 阅读 · 0 评论 -
【LeetCode闲暇一题】33. 搜索旋转排序数组【中等】关键词:数组;二分查找
题目整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为[nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …,nums[k-1]](下标 从 0 开始 计数)。例如,[0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个整数原创 2021-11-29 10:41:09 · 83 阅读 · 0 评论 -
【LeetCode闲暇一题】31. 下一个排列【中等】
题目实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。示例 1:输入:nums = [1,2,3] 输出:[1,3,2]示例 2:输入:nums = [3,2,1] 输出:[1,2,3]示例 3:输入:nums = [1,1,5] 输出:[1,5,1]示例 4:输入:nums = [1] 输出:[1]原创 2021-11-25 14:52:14 · 570 阅读 · 0 评论 -
【LeetCode闲暇一题】26. 删除有序数组中的重复项【简单】关键词:数组,双指针
题目给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。示例 1:输入:nums = [1,1,2] 输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums的前原创 2021-11-22 11:08:47 · 191 阅读 · 0 评论 -
【LeetCode闲暇一题】16. 最接近的三数之和【中等】关键词:数组,排序,双指针
题目给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例 1:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。示例 2:输入:nums = [0,0,0], target = 1输出:0提示:3 <= nums.length <原创 2021-11-19 14:40:03 · 501 阅读 · 0 评论 -
【LeetCode闲暇一题】15. 三数之和【中等】关键词:数组-双指针
题目给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length <= 3000-1原创 2021-11-18 11:39:56 · 96 阅读 · 0 评论 -
【LeetCode闲暇一题】11. 盛最多水的容器【中等】 关键词:数组-双指针
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输入:height.原创 2021-11-16 17:07:30 · 104 阅读 · 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 评论 -
【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 评论