首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
那些年刷的算法
小小纽扣
创建于2021-05-11
订阅专栏
算法刷题之路
暂无订阅
共23篇文章
创建于2021-05-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
不同路径 LeetCode62 题 |刷题打卡
找状态转移方程,机器人只能向下或者向右走那么如下:我们用其中 i 和 j 的范围分别是 [0,m) 和 [0, n)的范围。那么dp[i][j] = dp[i][j-1] + dp[i-1][j]意思是我站在当前位置,只能从[i][j-1]或者[i-1][j]走过来。注意如果机…
有效的括号 LeetCode 20题 |刷题打卡
我在不知道用栈解法之前对这个题无从下抓,当我知道这种解法的时候,只一次我每次都能正确的写出这个题解,很好理解。 初始化一个栈,循环整个字符,当发现是 “(” 和 “[” 和 “{” 依次往栈里面对应的另一半也就是“)”和 “]” 和 “}” 。 除过这三种情况判断栈是否空了,如…
三数之和 LeetCode 15题|刷题打卡
先对数组排序再循环,因为排序完当循环到nums[i]>0的时候,后面的无须循环因为最左侧是正数,三个正数的和不可能是0,因为三数之和是nums[i]+nums[i+1]+nums[nums.length - 1]即nums[i]大于0 三数之和不可能为0即退出整个循环break…
盛最多水的容器 LeetCode 11 |刷题打卡
双指针,左边从0开始,右边从a.length-1开始,循环从两头往中间走,左边的i++,右边的j--到底是该i++还是j--比较好理解的是,如果a[i]和a[j]值做比较,因为题解是需要装最多,所有肯定移动a[i]和a[j]比较小的值往中间走,因为我也不确定往中间走会不会遇到比…
合并两个有序链表LeetCode 21 |刷题打卡
每次递归进来比较l1和l2两个链表当前值的大小,下一个结点永远连接比较小的值,结束条件是l1和l2有一个为null,这题需要理解并能默写出来。 说明:我画出来的和官方给的最后两个颜色不对,我没找到为啥,我姑且认为我是对的。 本文正在参与「掘金 2021 春招闯关活动」, 点击查…
移动零 LeetCode 283题|刷题打卡
题解:第一遍循环先把nums[i]值不是0的装到一个集合里面,题目要求需要在原数组上操作,因为原数组最坏的可能是一个0都没有,所以完全满足题意,把不等于0的值按秩序依次放到nums[j]中,放完j++,也可以写成nums[j++]。第一遍循环完,原数组的长度减去重新放值的长度i…
二叉树的锯齿形层序遍历LeetCode 103|刷题打卡
采用dfs算法广度优先算法,就是一层一层的展开整个树,List每展开一层先从右边添加,下一层从左边添加这样一层一层递推。List我们采用双端队列,先offerLast()下一层再offerFirst()。完整代码如下,也是dfs的标准写法。 本文正在参与「掘金 2021 春招闯…
使用最小花费爬楼梯 LeetCode 746|刷题打卡
dp[i]=min(dp[i−1]+cost[i−1],dp[i−2]+cost[i−2])如果我申请两个变量表示从第dp[i−1]为curr爬上来和dp[i−2]为prev爬上来变成 int next=min(curr+cost[i−1],prev+cost[i−2])。然后…
组合 LeetCode 77|刷题打卡
本文正在参与「掘金 2021 春招闯关活动」, 点击查看。
二叉树的最近公共祖先 LeetCode 236|刷题打卡
本文正在参与「掘金 2021 春招闯关活动」, 点击查看。
电话号码的字母组合 LeetCode 17题|刷题打卡
和全排列一模一样的思路,全排列加回溯的思想,多了个数字字符串转字母的过程,终结条件是digits的长度和循环的深度一样就返回。其他和全排列思路一致。 本文正在参与「掘金 2021 春招闯关活动」, 点击查看。
全排列 LeetCode 46|刷题打卡
本文正在参与「掘金 2021 春招闯关活动」, 点击查看。
递增子序列 LeetCode 491题|刷题打卡
这个和全排列类似,只不过注意添加的时候要判断当前值大于temp数组中最后一个值。先拿第一个值,递归下一层去拿第二个值,当发现满足下一个值大于等于当前值就往结果集中放,最少两个元素所以temp长度大于2的时候ans.add() 本文正在参与「掘金 2021 春招闯关活动」, 点击…
有序链表转换二叉搜索树 LeetCode 109题|刷题打卡
题解:二叉搜索树的左子树小于跟节点,右子树大于跟节点,并且左边子树和右边子树所有的结点都满足这个规律,所以用快慢指针找中间的跟节点,初始化数让中间的节点为跟结点,依次分为左子树和右子树,为两个树,再找这个两个树的中点,依次递归找每次左子树的头从head开始到pre结束。右子树从…
Pow(x, n) LeetCode 50题|刷题打卡
举例算x的4次方可以等于x的2次方乘以x的2次方x^4=x^2*x^2那么x的5次方就是在前面的基础上再乘以x。故如果n次方n是偶数时递归的调用,每次是n=n/2。就是myPow(x * x, n / 2)如果是奇数x * myPow(x * x, n / 2)再乘以x本身就好…
二叉树的最小深度 LeetCode 111|刷题打卡
叶子节点定义左孩子和右孩子都为 null 时叫叶子节点。 当根结点root节点左右孩子都为空时,返回 1。 当根结点root节点左右孩子有一个为空时,返回不为空的孩子节点的深度。 当根结点root节点左右孩子都不为空时,返回左右孩子较小深度的节点值。 递归:分别递归左子树,和右…
括号生成 LeetCode 22|刷题打卡
一共有2n个括号,套用递归模板,当左括号和右括号等于n的时候,这层递归返回,注意左括号次数小于n拼接左括号,右括号需要小于左括号的次数才能拼接右括号。 本文正在参与「掘金 2021 春招闯关活动」, 点击查看。
翻转二叉树 LeetCode 226|刷题打卡
把左右节点看成很平常的两个值交换就好,你可以理解交换两个数,左右子树递归调用,最后返回,递归先左还是先右无所谓都行。 本文正在参与「掘金 2021 春招闯关活动」, 点击查看。
二叉树的遍历 LeetCode 144和94|刷题打卡
本文正在参与「掘金 2021 春招闯关活动」, 点击查看。
字母异位词分组 LeetCode 49题 |刷题打卡
1.写这个题的时候我准备用hashMap的做法,核心思想就是循环每个值排序,因为如果是字母异位词排序完再转换成string值一定是一样的,就是代码中的key是一样的。比如:abc和acb是异位词,但是abc和acb排完序都是是abc,核心思想。 2.我拿一个map存储,map的…
下一页