leetcode
Three_ST
学习者
展开
-
数据结构与算法之 leetcode 78. 子集
【代码】数据结构与算法之 leetcode 78. 子集。原创 2024-06-27 10:54:16 · 122 阅读 · 0 评论 -
数据结构与算法之 leetcode 47. 全排列 II (回溯)
【代码】数据结构与算法之 leetcode 47. 全排列 II (回溯)原创 2024-06-17 18:40:52 · 220 阅读 · 0 评论 -
数据结构与算法之 leetcode 103. 二叉树的锯齿形层序遍历
【代码】数据结构与算法之 leetcode 103. 二叉树的锯齿形层序遍历。原创 2024-06-11 10:08:36 · 140 阅读 · 0 评论 -
数据结构与算法之 leetcode 513. 找树左下角的值 (BFS) 广度优先
【代码】数据结构与算法之 leetcode 513. 找树左下角的值 (BFS) 广度优先。原创 2024-06-05 19:00:00 · 272 阅读 · 0 评论 -
数据结构与算法之 leetcode 102. 二叉树的层序遍历
【代码】数据结构与算法之 leetcode 102. 二叉树的层序遍历。原创 2024-06-05 08:00:00 · 182 阅读 · 0 评论 -
数据结构与算法之 leetcode 142. 环形链表 II
【代码】数据结构与算法之 leetcode 142. 环形链表 II。原创 2024-05-22 07:19:31 · 160 阅读 · 0 评论 -
数据结构与算法之 leetcode 713. 乘积小于 K 的子数组(双指针)
数据结构与算法之 leetcode 713. 乘积小于 K 的子数组(双指针)原创 2024-05-17 08:00:00 · 171 阅读 · 0 评论 -
leetcode-42. 接雨水(双指针,前缀)
【代码】leetcode-42. 接雨水(双指针,前缀)原创 2024-05-16 08:00:00 · 205 阅读 · 0 评论 -
leetcode-11. 盛最多水的容器(双指针)
leetcode-11. 盛最多水的容器(双指针)原创 2024-05-14 22:52:16 · 189 阅读 · 0 评论 -
LeetCode-217存在重复的元素
217 存在重复的元素给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。数组扁平化var flatten = function(arr){ return arr.reduce((acc,val)=>acc.concat(Array.isArray(val)?flatten(val):val),原创 2024-04-04 18:44:01 · 299 阅读 · 0 评论 -
652. 寻找重复的子树 - 力扣(LeetCode)
执行结果:通过执行用时:108 ms, 在所有 JavaScript 提交中击败了67.16%的用户内存消耗:48.7 MB, 在所有 JavaScript 提交中击败了43.14%的用户通过测试用例:176 / 176执行结果:通过执行用时:80 ms, 在所有 JavaScript 提交中击败了98.28%的用户内存消耗:48.3 MB, 在所有 JavaScript 提交中击败了70.10%的用户通过测试用例:176 / 176。原创 2023-10-05 15:18:50 · 113 阅读 · 0 评论 -
数据结构与算法之LeetCode-1417. 重新格式化字符串
- 模拟求解,按照题目要求拆分- 遍历每个字符,判断类型,放入对应数组中原创 2022-12-31 21:04:35 · 97 阅读 · 0 评论 -
数据结构与算法之LeetCode-1460-通过翻转子数组使两个数组相等
排序两个数组原创 2022-12-30 21:13:41 · 136 阅读 · 1 评论 -
数据结构与算法之LeetCode-1289-下降路径最小和II 使用 动态规划
动态规划,建立并简化状态转移方程原创 2022-12-21 23:41:19 · 111 阅读 · 0 评论 -
数据结构与算法之Leetcode-931. 下降路径最小和 - 力扣(动态规划)
找出最短路径假定上一层的位置为[row,col]使用动态规划计算每一层的路径和,从底往上,或者自顶向下原创 2022-12-14 21:10:25 · 247 阅读 · 0 评论 -
数据结构与算法之LeetCode-120.三角形最小路径和(使用动态规划)
- 状态转移方程 - 顶点,i=0,j=0 `dp[0][0]=triangle[0][0]` - 左边界,j=0 `dp[i][j]=dp[i-1][j]+triangle[i][j]` - 右边界,j=i `dp[i][j]=dp[i-1][j-1]+triangle[i][j]` - 中间点,`dp[i][j] = min(dp[i-1][j-1],dp[i-1][j])+triangle[i][j]`原创 2022-11-28 22:10:32 · 267 阅读 · 0 评论 -
数据结构与算法之LeetCode-64-最小路径和(动态规划求解)
- 假设dp为 m*n的矩阵,其中`dp[i][j]`的值代表直走到(i,j)的最小路径和- 状态转移方程(走到单元格(i,j)的最小路径和 = “从左侧(i-1,j)和上方)(i,j-1)移动到下一个位置,因此只需要考虑上边界和左边界,以及两个最小路径和中的较小值“+当前单元格的`grid[i][j]`) - 左边和上边都不是边界: - 只有左边是矩阵边界:只能从上面移 - 只有上面是矩形边界: - 上边和左边都是矩阵边界,原创 2022-11-27 21:52:43 · 436 阅读 · 0 评论 -
数据结构与算法之leetcode-63. 不同路径 II - 力扣(动态规划)
动态规划原创 2022-11-16 22:34:32 · 305 阅读 · 0 评论 -
数据结构与算法之LeetCode-62.不同的路径(动态规划+排列组合)
动态规划f(i,j)=f(i−1,j)+f(i,j−1)从左上角到右下角的过程中,我们需要移动 m+n-2次,其中有 m-1次向下移动,n-1次向右移动。因此路径的总数,就等于从 m+n-2 次移动中选择 m-1次向下移动的方案数原创 2022-11-15 22:25:43 · 223 阅读 · 0 评论 -
数据结构与算法之LeetCode-640. 求解方程
- factor表示变量的系数,val表示常量值- 使用系数sign1表示默认系数,解析到等号时,说明解析到等式右边的项,令sign1 = -1- 使用sign2表示项的符号,初识时sign2 = sign1 。解析到‘+’,‘-’,要么相应的更改sign2,使用number记录数字,valid表示number是否有效- 如果解析到变量,那么相应的更改factor- 如果解析到的是常量项,那么相应的更改val- 如果factor=0,说明变量x对方程无影响,然后判断val=0 是否成立,成立则说明原创 2022-10-31 23:05:17 · 105 阅读 · 0 评论 -
数据结构与算法之-641. 设计循环双端队列 - 力扣(LeetCode)
循环队列原创 2022-10-27 23:03:35 · 224 阅读 · 0 评论 -
数据结构与算法之LeetCode-652. 寻找重复的子树 - 力扣(1024程序员节)
寻找重复的字数原创 2022-10-24 21:46:14 · 247 阅读 · 0 评论 -
数据结构与算法之二分查找
在循环条件为 l原创 2022-09-28 21:17:21 · 887 阅读 · 0 评论 -
数据结构与算法之LeetCode-655. 输出二叉树 - 力扣(LeetCode)
二叉树,dfs,bfs原创 2022-09-24 22:10:02 · 814 阅读 · 0 评论 -
数据结构与算法之LeetCode-1224. 最大相等频率 - 力扣(LeetCode)
使用哈希表map记录某个数字x出现的次数map[x],freq记录出现次数为f的数的数目为freq[f],maxFreq表示最大出现次数。以某个字符nums[i]结尾的数组前缀合要求的充要条件为满足以下三个条件之一:- 最大出现次数maxFreq = 1,那么所有数的出现次数都是一次,随意删除一个数即可符合要求- 所有数的出现次数都是maxFreq或者maxFreq-1,并且最大出现次数的数只有一个,删除一个最大出现次数的数,那么所有数的出现次数都是maxFreq-1- 除开一个数,其他所有数的出现原创 2022-09-20 21:30:10 · 703 阅读 · 0 评论 -
数据结构与算法之LeetCode-652. 寻找重复的子树
二叉树,深度遍历,保留每个父节点的遍历结果原创 2022-09-05 23:05:15 · 784 阅读 · 0 评论 -
数据结构与算法之LeetCode-662. 二叉树最大宽度 -(DFS,BFS)
- 根节点的位置为1(index- 左子节点的位置就为1*2- 右子节点的位置就为1*2+1 - 节点下标会非常大(2**3000)个子节点,超过JS的number范围,因此需要使用bigint避免溢出原创 2022-08-29 23:09:14 · 308 阅读 · 0 评论 -
数据结构与算法之LeetCode-640. 求解方程(数学模拟)
- factor表示变量的系数,val表示常量值- 使用系数sign1表示默认系数,解析到等号时,说明解析到等式右边的项,令sign1 = -1- 使用sign2表示项的符号,初识时sign2 = sign1 。解析到‘+’,‘-’,要么相应的更改sign2,使用number记录数字,valid表示number是否有效- 如果解析到变量,那么相应的更改factor- 如果解析到的是常量项,那么相应的更改val- 如果factor=0,说明变量x对方程无影响,然后判断val=0 是否成立,成立则说明原创 2022-08-10 21:16:06 · 500 阅读 · 0 评论 -
数据结构与算法之LeetCode-1413. 逐步求和得到正数的最小值(贪心与排序)
贪心,排序原创 2022-08-09 21:04:29 · 1074 阅读 · 0 评论 -
数据结构与算法之LeetCode- 1408. 数组中的字符串匹配
1408. 数组中的字符串匹配 - 力扣(LeetCode)- 按照题目要求,想到排序,只有长的才能包含短的- 因此就做条件判断原创 2022-08-06 23:23:24 · 826 阅读 · 0 评论 -
数据结构与算法之LeetCode-1184. 公交站间的距离 - 力扣(LeetCode)
环形公交路线上有n个站,按次序从0到n - 1进行编号。我们已知每一对相邻公交站之间的距离,distance[i]表示编号为i的车站和编号为(i + 1) % n的车站之间的距离。环线上的公交车都可以按顺时针和逆时针的方向行驶。返回乘客从出发点start到目的地destination之间的最短距离。...原创 2022-07-24 10:42:05 · 179 阅读 · 0 评论 -
数据结构与算法之LeetCode-241. 为运算表达式设计优先级
一个整数区间[a, b](a < b) 代表着从a到b的所有连续整数,包括a和b。给你一组整数区间intervals,请找到一个最小的集合 S,使得 S 里的元素与区间intervals中的每一个整数区间都至少有2个元素相交。输出这个最小集合S的大小。......原创 2022-07-22 22:11:01 · 982 阅读 · 0 评论 -
数据结构与算法之剑指 Offer II 041. 滑动窗口的平均值
剑指OfferII041.滑动窗口的平均值原创 2022-07-16 21:03:30 · 167 阅读 · 0 评论 -
数据结构与算法之LeetCode-剑指 Offer II 091. 粉刷房子-动态规划-DP
剑指 Offer II 091. 粉刷房子 - 力扣(LeetCode)当前刷红,上一个只能是蓝或绿,所以由上一次蓝绿最小值加上当前红的代价得到。参考链接剑指 Offer II 091. 粉刷房子 - 力扣(LeetCode)粉刷房子 - 粉刷房子 - 力扣(LeetCode)【宫水三叶】简单状态机 DP 运用题 - 粉刷房子 - 力扣(LeetCode)[Python/Java/TypeScript/Go] 动态规划 - 粉刷房子 - 力扣(LeetCode)...原创 2022-06-25 23:38:46 · 291 阅读 · 0 评论 -
数据结构与算法之LeetCode-515. 在每个树行中找最大值(DFS,BFS)
515. 在每个树行中找最大值 - 力扣(LeetCode)DFS,BFS 数据结构与算法BFS参考链接515. 在每个树行中找最大值 - 力扣(LeetCode)在每个树行中找最大值 - 在每个树行中找最大值 - 力扣(LeetCode)【宫水三叶】树的搜索运用题 - 在每个树行中找最大值 - 力扣(LeetCode)在每个树行中找最大值【BFS和DFS】 - 在每个树行中找最大值 - 力扣(LeetCode)...原创 2022-06-24 22:35:32 · 230 阅读 · 0 评论 -
数据结构与算法之LeetCode-513. 找树左下角的值 - 力扣(DFS,BFS)
513. 找树左下角的值 - 力扣(LeetCode)数据结构与算法,DFS,BFS,深度优先搜索,广度优先搜索BFS遍历每一层节点,遍历每一个节点时,需要先把它的非空右子节点放入队列,然后再把非空左子节点放入队列,这样才能保证从右到左遍历每一层节点BFS所遍历的最后一个节点的值就是最底层最左边的节点参考链接513. 找树左下角的值 - 力扣(LeetCode)找树左下角的值 - 找树左下角的值 - 力扣(LeetCode)......原创 2022-06-23 23:10:55 · 193 阅读 · 0 评论 -
数据结构与算法-890. 查找和替换模式 - 力扣(LeetCode)字符串匹配
- 判断字符出现的位置,如果重复出现只取第一次出现的位置- 分割words,按照相同规则取值,然后判断是否成立原创 2022-06-12 22:50:16 · 772 阅读 · 0 评论 -
数据结构与算法之LeetCode-467. 环绕字符串中唯一的子字符串(动态规划速度100%)
467. 环绕字符串中唯一的子字符串 - 力扣(LeetCode)DPs是周期性字符串,在s的子串中,只要知道子串的第一个字符或者最后一个字符和子串长度,就可以确定这个子串。例如如果子串以‘d’结尾,长度为3,那么该子串为’bcd’对于同一个字符串结尾的字符,长的那个子串必然包括短的那个。例如’abcd’和’bcd’都以‘d’结尾,’bcd’是‘abcd’的子串var findSubstringInWraproundString = function{p){ const dp = new A原创 2022-05-25 21:38:40 · 117 阅读 · 0 评论 -
数据结构与算法之LeetCode-824. 山羊拉丁文
824. 山羊拉丁文 - 力扣(LeetCode) (leetcode-cn.com)按照题目解释 判断是否是元音字母非元音字母倒序 放在最后添加 ma添加 n个 a/** * @param {string} sentence * @return {string} */var toGoatLatin = function(sentence) { let vowels = ['a','e','i','o','u']; let res = []; let temp原创 2022-04-21 22:23:36 · 1132 阅读 · 0 评论 -
数据结构与算法之leetcode-385. 迷你语法分析器 - 力扣使用递归和栈实现
385. 迷你语法分析器 - 力扣(LeetCode) (leetcode-cn.com)递归dfs判断开头的是否是’[’, ‘-’判断结束标志,以及是否嵌套数组var deserialize = function(s) { let index = 0; const dfs = (s) => { if (s[index] === '[') { index++; const ni = new NestedInte原创 2022-04-15 23:14:54 · 1033 阅读 · 0 评论