首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法
专业抄代码选手
创建于2024-07-08
订阅专栏
一些算法题目
暂无订阅
共216篇文章
创建于2024-07-08
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【leetcode.填充每个节点的下一个右侧节点指针 II】
这是一个比较典型的层序遍历,要求每一层的节点,都依次从左到右指向 这是一个比较标准的层序遍历的写法,在这一题中,唯一要注意的地方就是for循环内的if判断,在这里要使倒数第二个节点指向最后一个节点,所
【leetcode】106.从中序与后序遍历序列构造二叉树
105.前序中序构建二叉树 这里的是用中序还有后序构建二叉树 前序:根左右 中序:左根右 后序:左右根 搞清楚这里的遍历顺序之后,就可以从后序的尾部拿到根节点了 然后在中序遍历中查找根节点在哪里,然后
【leetcode】88. 合并两个有序数组
这一题要求在nums1上面进行返回,nums1数组上已经给了空位了。 记得之前还有其他题目是在原数组上面操作,去重之类的,忘记多少题, 这种就是后面往前面挪动就好了,前面弄一个index慢慢自增就能解
【leetcode】61. 旋转链表
跟旋转数组一样的意思,这里要处理好k的值过大的问题,也就是一个除余可以解决的问题。 这里利用快慢指针,找到需要断开的地方即可,然后还有一个需要注意的地方,断开地方的后半部分要衔接到链表头部,断开的前半
【leetcode】150. 逆波兰表达式求值
需要用栈来解决这一题 比较好做,碰到运算符,就把之前压栈的栈顶两位数取出来进行计算,然后把结果放进栈顶即可,这里又个坑就是,这里数组里面存在的元素都是字符,所以需要将数字字符转成数字
【leetcode】71. 简化路径
这里使用栈来解决 因为这里涉及到..以及.,前者表示上一级目录,后者表示当前目录 所以在以上的路径中出现了..的时候,直接忽略上一级目录,出现.的时候,直接忽略
【leetcode】452. 用最少数量的箭引爆气球
这一题与56题的思路差不多,56题是合并相交的区间,然后返回合并后的区间数组,这一题是返回交集(相交的部分) 这两题的区别就在代码第8行,56题返回的是合并后的区间,这里返回的是相交的部分
【leetcode】57. 插入区间
给定的数组区间,还有一个新区间,将新区间与数组区间重叠的部分合并到一起 这里分成3个阶段来做 1.首部的区间不重合,所以有当前的区间end < 给定区间start 2.开始重合了,这里就有两种情况了
【leetcode】56. 合并区间
这一题的思路主要在于前期需要排序,后面按照耿直的思路做就好了 这里的重点在于什么时候把构成的区间push进入res数组中 错误代码 这里push进入res数组中的时机有问题,如果当前的区间与first
【leetcode】228. 汇总区间
这里的思路比较简单,使用start还有last来分别指向区间的首尾 遍历数组的时候使用当前的数字与last相比 如果差距大于1,那么就要封存当前区间了 如果区间刚好等于1,那么就继续下一个遍历 初版
【leetcode】219. 存在重复元素 II
判断数组中存在的重复数字之间的 索引差值<=k 是否成立 这一题还是比较简单的,使用map来存储当前数字的索引,如果再次遇到相同的数字,则计算两者之间的差值做比较(成立则返回true),然后更新最新的
【leetcode】202. 快乐数
这一题和之前碰到的一题比较像,判断数组中是否存在环,使用快慢指针来解决的 这里也一样,使用快慢指针来寻找是否存在环,如果存在环,那么就跳出循环,然后判断当前的数字是否为1
【leetcode】242. 有效的字母异位词
这一题是判断字母异位词,开始就想到了排序来判断是否是异位词,但是这里的复杂度比较高,因为排序需要nlogn的时间来处理 使用map来排序也是一个不错的选择,用空间换时间,这里的空间比较值得去换,毕竟也
【leetcode】290. 单词规律
这一题和205题比较像,思路基本一致,设置两个map来正反映射即可。在205题中,可以利用其题目的性质,使用数组来存储映射,但是在这一题里面,数组不方便来正反映射,直接使用map即可。
【leetcode】205. 同构字符串
思路:这里也还是使用hash来解决这一题,只不过这里用一个map是不能解决的,需要两个map来正反互相指向才行 错误代码 这里只只用了一个map来解决,只不过在遇到以下测试用例的是时候,会报错 这里主
【leetcode】383. 赎金信
这一题比较简单,使用一个map来计数即可解决 先遍历magazine里面的字符放入map中进行计数,再遍历ransomNote的字符,进行减数 如果某个计数小于0,或者不存在的时候,返回false 遍
【leetcode】289. 生命游戏
修改状态的问题,这里比较难的一点在于状态叠加的问题,比如说之前这个细胞状态是0,但是现在修改成了1,但是在其他细胞相邻的地方,就会持续影响其他细胞的状态 这里需要引进其他状态来解决这个问题
【leetcode】36. 有效的数独
注意红框部分的事项 这里并不要求是否有解,只需要验证目前的题目是否合理 这里使用set来进行校验当前的行、列、方块里面是否存在重复的数字即可 方格的索引按照如下的排列进行标序
【leetcode】3. 无重复字符的最长子串
使用滑动窗口来解决这一题 使用map来存储当前进入窗口的元素 如果下一个进来的元素在map中存在,此时就需要更新滑动窗口的起始位置 如果下一个进来的元素不存在map之中,那就继续存入map之中 错误代
【leetcode】209. 长度最小的子数组
没有仔细读懂题意,然后写了错误的代码,这里要求的是子数组,那么就是要求连续的 错误代码 这里的错误在于我直接开始排序了,倒序。选择最少的数字来满足题目要求,但是题目要求是子数组,这里就完全不满足题意了
下一页