首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法
专业抄代码选手
创建于2024-07-08
订阅专栏
一些算法题目
暂无订阅
共216篇文章
创建于2024-07-08
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【leetcode】1254.统计封闭岛屿的数目
题目简述:这一题在200题的基础之上进行了升级,升级点在,在边界上的陆地,不算岛屿,算大陆,只能算四面邻水的陆地算岛屿。这一题的岛屿还有陆地与200题不同,0-岛屿,1-大海。 这一题的解题思路就跟2
【leetcode】200.岛屿数量
题目简述:计算有多少个岛屿,1代表陆地,0代表海洋,1上下左右相连在一起的算一个岛屿 这一题就是比较典型的需要遍历,然后打标记了 DFS 注释都比较清楚就是,主要要注意的就是return的情况不能漏掉
【leetcode】102.二叉树的层序遍历
题目简述:树的层序遍历 对于这种题目,一般来说就有两种解法了,BFS以及DFS BFS也是一套模板,比较通用 DFS在这里的解法,就会有点非主流的感觉,但是代码层面上面来说,应该不太难懂 BFS DF
【Leetcode】22.括号生成
题目简述:生成符合条件的括号组合,就是需要括号都要闭合才行 两种解决方案,一种回溯,一种压栈,内部处理逻辑都是一样的 回溯 stack
【Leetcode】90. 子集 II
题目简述:在给定的nums数组里面,找出所有可能的组合,组合的长度不限,但是不能重复 去重这里,很多地方都有用到就是利用下面这段代码来去重 进阶47题 题解
【Leetcode】78. 子集
题目简述:给定的数组里面找出所有组合 这里的递归,就没有return 跳出的地方了,直接遍历所有可能性,整个树都递归完 既然没有跳出的地方,那么就不需要if的判断了,最大的数组也就是nums的数组长度
【Leetcode】77. 组合
题目简述:1-n 个数字里面, 选出 k 个来,元素不能重复使用,列出所有的情况,也就是C(n,k)种情况 和216题,也没啥不同就是
【Leetcode】47. 全排列 II
这一题是结合了46题(全排列)以及40题(去重) 13行的这个continue没什么好说的,剪掉自己 这里的重点就是在16行,前面的一个元素没有被使用过,且当前的元素也没有被使用过,且两个元素相同,那
【Leetcode】40. 组合总和 II
题目简述:从给定的数组中找出若干个数字,使这些数字之和等于target,不能包含重复的组合,每个元素只能只用一次 错误代码 下面的代码无法去重 无法去重的测试用例 因为存在两个 1,导致下面的这个问题
【Leetcode】216.组合总和 III
题目简述:从1-9中找出k个数字,凑出的和为n,元素不能重复使用 直接套用回溯模板即可,这里的剪枝条件也是比较明显的,k个元素,sum的限制
回溯模板
回溯模板 下面可以看到一个回溯模板,主要的处理还是剪枝 剪纸的部分就来源于这个 for 循环的开始还有 backtrack 的入参 如果 for 循环为 0 那么就是每次都会遍历所有的元素,等于没有剪
【Leetcode】39. 组合总和
题目简述:从候选的数字里面选出的数字之和 = target 的所有组合 就像我在46题里面的作答一样,一般的框架就是修改start来达到剪枝的目的 下面这种写法比较清爽一丢
【Leetcode】46.全排列
对于列举所有可能性的这种题目,一般就是要回溯了,一棵树,然后列举所有的可能性,然后根据题目要求,把树上的枝叶裁剪,得到题目所需要的结果 这一题是一个比较典型的回溯题目,按照代码来,也是深度优先遍历DF
leetcode题目汇总
链表 01.leetcode-206. 反转链表 (反转) 02.leetcode-92. 反转链表 II (反转) 03.leetcode-25. K 个一组翻转链表 (反转) 04.leetcod
【leetcode】234. 回文链表
翻转链表的一题 这里很多人刚开始思考的时候,拿起来就是直接反转整个链表,然后拿着整个链表与之前的相比,但是这里存在一个问题,反转整个链表会改变链表的结构,导致出错,这里只需要反转部分即可,利用快慢指针
【leetcode】25. K 个一组翻转链表
92题、206题都为此类型反转链表题目 这一题要处理下最后不足k个的情况,然后注意这个反转是带有终点的,也就是right节点,注意判断好跳出条件即可
【leetcode】92. 反转链表 II
翻转链表中的部分,由206题的封装后,处理这一题只需要细心即可 处理好头节点,使用pre进行遍历,保存四处节点,便于后面衔接节点
【leetcode】206. 反转链表
递归 递归过程详细模拟 初始状态 链表为:1 -> 2 -> 3 -> null 初始调用:reverseList(1) 第一层递归 head 为节点 1,head.next 为节点 2 递归调用:r
【Leetcode】82.删除排序链表中的重复元素 II
这一题跟83题差不多,仅仅是意思差不多,但是处理没有83题那么简单 83题可以不需要dummy节点,处理逻辑也不会很麻烦,但是这一题稍微麻烦一点 双指针解法 因为这里要去除所有一样的节点,只要一样,就
【Leetcode】83.删除排序链表中的重复元素
首先想到的是快慢指针来解决这一题,但是其实不用双指针也能解决这一题 再一个思考就是,关于头节点是否需要dummy来指向head,在这一题,没有必要这么做,因为快慢指针直接来改变原先的链表结构,head
下一页