LeetCode
文章平均质量分 58
llcight
☁️☁️☁️☁️☁️hznu☁️☁️☁️☁️☁️
展开
-
⭐【LeetCode】-【柱状图中最大的矩形】暴力解法 O(N^2)
原作链接:转自: 【柱状图中最大的矩形】单调栈入门,使用单调栈快速寻找边界.题目描述:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。测试样例:示例 1:输入: heights = [2,1,5,6,2,3]输出: 10解释: 最大的矩形为图中红色区域,面积为 10示例 2:输入: heights = [2,4]输出: 4提示:1 <= heights.length原创 2021-09-13 10:22:58 · 104 阅读 · 0 评论 -
⭐【编辑距离问题】并通过回溯输出编辑过程
题目描述:给定一个源串和目标串,能够对源串进行如下操作:在任意位置上插入一个字符;替换任意字符;删除任意字符。写一个程序,实现返回最小操作次数,使得对源串进行上述这些操作后等于目标串(源串和目标串的长度都小于2000)。解析:拿到编辑距离问题,最朴素的想法便是暴力遍历所有的解决方案,即用DFS或者BFS+优先队列来存每次遍历的结果,最后找到最优解。显然,这种思路可行性低,算法的时间、空间复杂度较高。经过思考,我发现编辑距离问题的最优解中包含了子问题的最优解,且其独立的子问题的解被重复计算了原创 2021-09-08 18:35:53 · 887 阅读 · 0 评论 -
⭐【LeetCode】-【柱状图中最大的矩形】单调栈入门,使用单调栈快速寻找边界
原作链接:转自: 【柱状图中最大的矩形】单调栈入门,使用单调栈快速寻找边界.题目描述:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。测试样例:示例 1:输入: heights = [2,1,5,6,2,3]输出: 10解释: 最大的矩形为图中红色区域,面积为 10示例 2:输入: heights = [2,4]输出: 4提示:1 <= heights.length转载 2021-08-29 16:01:10 · 161 阅读 · 0 评论 -
⭐【LeetCode】- 接雨水 - 单调递减栈,简洁代码,动图模拟(转,二次编辑)
原作链接:转自: 【接雨水】单调递减栈,简洁代码,动图模拟.题目描述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。测试样例:示例 1:输入: height = [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6解释: 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入: height = [4,2,0,3,转载 2021-08-29 15:39:54 · 135 阅读 · 0 评论 -
⭐【LeetCode】- 在排序数组中查找元素的第一个和最后一个位置
题目链接:链接: 在排序数组中查找元素的第一个和最后一个位置.题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回[-1, -1]。时间复杂度为 O(n) 的解决方案这里不再赘述了,以下展示的是时间复杂度为 O(log n) 的解决方案测试样例:示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums原创 2021-08-25 23:49:23 · 249 阅读 · 0 评论 -
⭐【LeetCode】- 搜索旋转排序数组
题目链接:链接: 搜索旋转排序数组.题目描述:整数数组 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,原创 2021-08-24 23:56:23 · 106 阅读 · 0 评论 -
⭐【LeetCode】- 最长有效括号
题目链接:链接: 最长有效括号.题目描述:给你一个只包含 ’( '和 ’) ’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。测试样例:示例 1:输入:s = "(()"输出:2解释:最长有效括号子串是 "()"示例 2:输入:s = ")()())"输出:4解释:最长有效括号子串是 "()()"示例 3:输入:s = ""输出:0示例 3:输入:s = "(())"输出:4解释:最长有效括号子串是 "(())"参考题解:时间复杂度:O(N)原创 2021-08-24 00:52:21 · 132 阅读 · 0 评论