首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
LeetCode
Always_positive
创建于2021-05-11
订阅专栏
本专栏主要是记录LeetCode个人的解题过程和学习经验教训
等 32 人订阅
共152篇文章
创建于2021-05-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
LeetCode——有效的括号(借助栈)
题目描述 解题思路 首先,定义一个栈。 遍历字符串中的每一个元素,如果该元素是左括号,不管是哪一种类型的左括号都直接入栈。 如果遇到的是右括号,首先判断栈中是否有元素,如果没有元素则直接返回false
LeetCode——最小路径和(动态规划)
题目描述 解题思路 核心的DP方程 $dp[i][j] = dp[i][j] + Math.min(dp[i-1][j],dp[i][j-1]) + dp[i][j]$ 处理边界条件 第一行的处理方法
LeetCode——最大子序和(贪心算法)
题目描述 解题思路 AC代码 题目反思 此题使用贪心算法,解题代码看似很简单,但是思想确实很难理解的,所以需要我们多练,多思考,准确理解每一个变量的含义。
LeetCode——最长回文子串(中心拓展法)
题目描述 解题思路 将字符串的长度分为奇数和偶数的情况。 奇数的情况,传入的是两个相同的下标,偶数的情况传入的是i和i+1。 如果m大于等于0,n小于len,并且这两个字符是相等的,则一个左移,一个右
LeetCode——最长公共前缀(数组API-every方法)
题目描述 解题思路 首先获取数组的第一个字符串,以这个字符串为标准进行后续的判断。 定义需要返回的最终字符串,初始值为空串。 使用循环比例第一个字符串,每次遍历的时候,都利用数组的every这个API
LeetCode——全排列(DFS)
题目描述 解题思路 题目反思 DFS实现的核心在于使用一个对象来记录目标元素是否遍历过。 dfs遍历完一条路径之后,需要将路径数组中去掉栈顶元素,然后将该元素置未遍历状态。
LeetCode——爬楼梯(动态规划)
题目描述 解题思路:动态规划 题目反思 本题如果直接采用递归的方法,肯定是要超时的,动态规划是解决这类问题的好方法。 >动态规划的关键在于准确的列出动态规划的方程。
LeetCode——买卖股票的最佳时机(动态规划+更新极值)
题目描述 思路一:更新最大值和最小值 首先,假设第一个元素是价格最小的值minPrice。 定义一个价格最大差maxPriceDiff,并设置值为0。 从数组的第二个元素开始更新价格最大差和最小值。
LeetCode——路径总和(DFS)
题目描述 解题思路 AC代码 题目反思 学会DFS来遍历二叉树。 学会使用递减归零的思想来判断和的问题。
二刷--用两个栈实现队列
题目描述 解题思路 一个栈用来模拟入队操作。 另一个栈用来模拟出队操作。 在构造函数的原型对象上添加增加队尾元素函数和删除队头元素函数,注意,这两个函数都不要使用箭头函数,因为涉及到this。 增加队
二刷--两数相加
题目描述 解题思路 定义一个结果链表,用于存储最终的结果。 定义一个临时节点保存结果链表的头结点。 定义进位。 只要进位或者l1或者l2,只要任意一个不为空都进入循环。 循环中:将对应位的值和进位加一
二刷--斐波那契数列
题目描述 解题思路 如果目标值小于等于1,则直接返回。 如果目标值大于等于1,则定义两个临时变量保存前两个数字。 通过循环的方法不断更新这两个值,即可求出最终的解。 AC代码 题目反思 学会使用非递归
LeetCode——长度最小的子数组(滑动窗口)
题目描述 解题思路 1:初始化滑动窗口 2:核心循环体 3:判断返回 完整代码 题目反思 题目让我们求的是大于等于target的长度最小的子数组,而不是等于。
LeetCode——LRU 缓存机制(借助Map)
题目描述 解题思路 1: 初始化构造函数 2:实现get方法 判断map中是都有目标key。 没有则返回-1 有,则保存对应的值,然后删除键值对,重新存,然后返回对应的值。这里之所以要进行重新存储,是
二刷--二叉树的最近公共祖先
题目描述 解题思路 首先判断当前节点是null还是p还是q。 null:直接返回null p:直接返回p q:直接返回q 递归遍历左右子树并接受返回值 如果左右子树返回的值都不为空,则说明当前的父节点
一道看似简单的阿里前端算法题
题目描述 题目分析 解题思路 第一步:构建哈希表,键为目标元素,值为目标元素出现的次数 第二步:对数组去重 第三步:构建大顶堆 第四步:求第k大的元素和第m大元素 第五步:根据哈希表出现的次数计算并返
LeetCode——去除重复字母(借助栈)
这是我参与8月更文挑战的第27天,活动详情查看:8月更文挑战 题目描述 解题思路 第一步: 如果字符出现在栈中则直接跳过 第二步: 如果字符没有出现在栈中,则进行下面的判断 栈中是否有元素. 栈顶元素
LeetCode——替换后的最长重复字符(滑动窗口)
这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战 题目描述 解题思路 构造一个数组,该数组拥有26个元素,下标代表的是大写字母A-Z。 定义滑动窗口的左右边界和滑动窗口中出现次数最多的字母
LeetCode——最大连续1的个数 III(滑动窗口)
这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战 题目描述 解题思路 定义滑动窗口的左右边界。 定义滑动窗口中连续1的个数(包含K个零) 定义滑动窗口中零的个数。 核心循环体 进入循环的条
LeetCode——反转链表(双指针)
题目描述 解题思路 采用一个指针指向当前节点,cur节点的初始值为head. 采用另一个指针指向当前节点的前一个节点(pre),该节点的初始值为null. 每当我们修改当前指针的指向的时候,一定要保存
下一页