首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法
专业抄代码选手
创建于2024-07-08
订阅专栏
一些算法题目
暂无订阅
共216篇文章
创建于2024-07-08
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【leetcode】11. 盛最多水的容器
双指针 分别从两边开始计算当前容量,然后每次都保留最大的容量 left和right指针分别指向头尾,来计算容量,后面只需要合理的来收缩left还有right即可 试想现在是height[left]最小
【leetcode】167. 两数之和 II - 输入有序数组
双指针 因为是排序好的数组,找目标元素之和,这里就比较好处理,使用双指针来进行查找,可以在n的时间复杂度内完成。
【leetcode】392. 判断子序列
刚开始准备用hash来解决这一题,但是如果字符串中出现重复的字符,这就无法解决了 解决方案 双指针,i和j分别指向s以及t字符串 相等的情况下,挪动s字符串的指针i 不等的情况下,挪动t字符串的指针j
【leetcode】125. 验证回文串
这题判断回文没有什么难度,重点在于过滤掉字符串里面的其他字符,这里采用正则来过滤,过滤后并将字符变成小写
【leetcode】28. 找出字符串中第一个匹配项的下标
看见题目,一眼用indexOf,但是这样子貌似就没有做题的必要了 indexOf 暴力破解 KMP算法
【leetcode】6. Z 字形变换
这一题如果按照题目意思来建立一个二维数组,一板一眼的放进去字符,就比较麻烦了,最后要返回的只是排列之后的从上到下的顺序。 所以在这里可以不必一板一眼的放在指定的位置rows[i][j],直接z形走位拼
【leetcode】151. 反转字符串中的单词
这一题也是比较简单,swap单词即可,但是根据题目的要求,在给定的测试用例里面会出现首尾都有空格的情况,然后中间也会出现多个空格相连的情况,所以用split(' ')是不行的 错误代码 未通过的测试用
【leetcode】58. 最后一个单词的长度
这一题比较简单,要最后一个单词的长度,如果直接说要第一个单词的长度,那就直接遍历就好了,现在要最后一个单词的长度,就反向遍历。
【leetcode】12. 整数转罗马数字
和13题互逆 把所有可能出现的数字建立一个map即可,顺序需要从大到小 从大到小遍历map,轮询减去当前的数字
【leetcode】13. 罗马数字转整数
刚开始想的比较耿直,代码也比较啰嗦,啰嗦完了,还不能解决问题 错误代码 测试用例 出现两次高位上的字母,上面的代码无法解决问题 正确代码 直接判断相邻的两个字母的大小即可,如果val[i] < val
【leetcode】135. 分发糖果
每个孩子都有一个评分,评分高的,糖果就多(相邻的情况下,如果是一个散列的数集,就没有必要了) 思路: 遍历第一次:从前往后遍历数组,如果rating[i] > rating[i-1],则给当前的人比之
【leetcode】134. 加油站
找到从某一点出发,可以走完全程 对于这一题的思考,如果走在某一点时,gas没有了,那么就不能走了,如果走在某一点,这里的gas是最少的,那么可以从这一点作为出发点。 下面这段代码的思路是记录总耗油剩余
【leetcode】380. O(1) 时间插入、删除和获取随机元素
对于这一题刚开始的考虑,用set就可以解决了,set的add has remove操作的时间复杂度都是1,但是在随机获取数字这个上面,我的操作的时间复杂度不是1,而是n。 错误的题解 在getRand
【leetcode】274. H 指数
对于这一题的理解就是,文章越多,影响因子会越大,呈现一个正比例函数,所以当某篇文章的影响因子在这个正比例函数之下的时候,那么这就是h指数 需要在文章进行排序之后得到上述结论 所以,基于上面的理解之后,
【leetcode】763. 划分字母区间
思路:记录每个字母最后出现的index的位置。 遍历字符串,当前字符最后index赋值给end,如果当前的遍历到的指针指向end,那么证明这个大距离已经出现。
【leetcode】207. 课程表
比较典型的图论题目,要看这个图是否构成一个环 如果改题里面不存在环,且能从一个入度为0的节点开始,遍历完整个图(链表),那么就可以返回true,否则返回false
【leetcode】15. 三数之和
暴力破解的话,3层循环,肯定是不是这个目的,这里需要用到3指针来达到目的。 对数组进行排序后,在来移动指针。
【leetcode】75. 颜色分类
使用三个指针:low、mid 和 high。 low 指向当前已处理的最后一个 0 的位置。 mid 用于遍历数组。 high 指向当前已处理的第一个 2 的位置。 遍历数组: 如果 nums[mid
【leetcode】169. 多数元素
这一题也是比较简单的一题,但是题目有限制,如果没有限制的话,做法还是比较多的。 可以先排序,然后再返回中间的元素即可。 题目进阶版要求在线性时间内解决。 摩尔投票法 下面这段代码的逻辑比较好理解,对于
【leetcode】136. 只出现一次的数字
这题的实现思路还是比较多的,用额外的存储空间来计数,或者用集合来实现等都可以,但是题目给出了限制,不能用额外的存储空间,以及在线性的时间内解决。 这里就要用到位运算异或来解决。 异或操作:利用异或运算
下一页