首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
LeetCode每日一题
薪炎乙志
创建于2021-10-15
订阅专栏
LeetCode每日一题
暂无订阅
共132篇文章
创建于2021-10-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
leetcode 647. Palindromic Substrings回文子串(中等)
我们可以从字符串的每个位置开始,向左向右延长,判断存在多少当前位置为中轴的回文字符串 。
leetcode 205. Isomorphic Strings 同构字符串(简单)
我们可以记录两个字符串每个位置的字符第一次出现的位置,如果两个字符串中相同位置的字符与它们第一次出现的位置一样,那么这两个字符串同构。例如:paper和title,当我们现在遍历到第三个字符p和t,发
leetcode 242. Valid Anagram 有效的字母异位词(简单)
建立一个哈希表映射,一共26个字母,可以用一个数组来代替哈希表,我们先判断两个字符串长度不相同返回false。然后把s中所有字符出现个数统计起来,存入一个大小为26的数组中。再统计t字符串,如果发现不
leetcode 594. Longest Harmonious Subsequence 最长和谐子序列(简单).md
题目给我们一个数组,让我们找出最长的和谐子序列,和谐子序列就是序列中数组的最大最小差值均为1,这里只让我们求长度,而不需要返回具体的子序列。所以我们可以对数组进行排序,实际上只要找出来相差为1的两个数
leetcode 697. Degree of an Array 数组的度(简单)
首先给数组的度下一个定义,给一个数组,某个或某些数字出现最多的次数为该数组的度。题目要求我们找到最短的子数组使其和原数组拥有相同的度。
leetcode 503. Next Greater Element II 下一个更大元素 II(中等)
我们可以用单调栈来解决这个问题,因为是循环数组,我们遍历两倍的数组,然后对坐标i取余,取出数字,如果此时栈不为空,且栈顶元素小于当前数字,说明当前数字就是栈顶元素的右边第一个较大的数,此时建立二者的映
leetcode 560. Subarray Sum Equals K 和为 K 的子数组(中等)
leetcode 第三个:定义一个hash来保存sum出现的次数,这样累加sum-k出现的次数就是答案了
leetcode 225. Implement Stack using Queues 用队列实现栈(简单)
使用队列,每次把新加入的数插到前头,这样队列保存的顺序和栈的顺序是相反的,它们的取出方式也是反的,那么反反得正,就是我们需要的顺序了。我样可以直接对队列q操作,在队尾加入了新元素x后,将x前面所有的元
leetcode 303. Range Sum Query - Immutable 区域和检索 - 数组不可变(简单)
这道题让我们检索一个数组的某个区间的所有数字之和,题目中给了两个条件,首先数组内容不会变化,其次有很多的区间和检索。那么我们用传统的遍历相加来求每次区间和检索,十分的不高效,而且无法通过OJ。所以
leetcode 128. Longest Consecutive Sequence 最长连续序列(中等)
可以把所有数字放到一个哈希表,然后不断地从哈希表中任意取一个值,并删除掉其之前之后的所有连续数字,然后更新目前的最长连续序列长度。重复这一过程,就可以找到所有的连续数字序列,顺便找出最长的。
leetcode 239. Sliding Window Maximum 滑动窗口最大值
利用一个双端队列,在队列中存储元素在数组中的位置,并且维持队列的严格递减,也就是说维持队列首元素是最大的,当遍历到一个新元素时,如果队列里有比当前元素小的,就将其移除队列,以保证队列的递减。
leetcode 23. Merge k Sorted Lists 合并K个升序链表(困难)
取每个Linked List的最小节点放入一个heap中,排成最小堆,然后取出堆顶最小的元素放入合并的List中,然后将该节点在其对应的List中的下一个节点插入到heap中,循环上面步骤。
leetcode 739. Daily Temperatures 每日温度(中等)
什么是单调栈?单调栈通过维持栈内值的单调递增(递减)性,在整体O(n)的时间内处理需要大小比较的问题。
leetcode 20. Valid Parentheses 有效的括号(中等)
思路:括号匹配是典型的使用栈来解决的问题。从左向右遍历,每当遇到左括号便放入栈内,遇到右括号则判断其和栈顶的括号是否是统一类型,是则从栈内取出左括号,否则说明字符不串不合法。
leetcode 155. Min Stack最小栈(中等)
可以额外建立一个栈(最小值栈),栈顶表示原栈中最小值。插入一个数字时,如果该值小于新栈的栈顶值说明该数是最小值,将其同时插入原栈和最小值栈。取数时,如果原栈的值等于最小值栈的值,说明这个数是原栈中的最
leetcode 232. Implement Queue using Stacks 用栈实现队列(简单)
用两个栈来实现一个队列:因为需要得到先入先出的结果,所以必定要通过一个额外栈翻一次数组。这个翻转过程既可以在插入时完成,也可以在取值时完成。
leetcode 769. Max Chunks To Make Sorted 最多能完成排序的块(中等)
思路:从左往右遍历,同时记录当前的最大值,每当当前最大值等于数组位置时,我们可以多一次分割 。
leetcode 240. Search a 2D Matrix II 搜索二维矩阵 II(中等)
解题技巧:从右上角开始查找,若当前值大于待搜索值,向左移动一位,若当前值小于待搜索值,向下移动一位。如果最终移动到左下角时仍不等于待搜索值,则说明待搜索值不存在于矩阵中。
leetcode 48. Rotate Image 旋转图像(Medium)
一个元素每次90度旋转,旋转4次后回到原点,这样我们找出这四个点的坐标一切就简单了 leetcode 48. Rotate Image 旋转图像(Medium)
leetcode 448. Find All Numbers Disappeared in an Array 找到所有数组中消失的数字(简单)
把所有重复出现的位置进行标记,然后再遍历一遍数组,即可找到没有出现过的数字。进一步优化,可以直接对原数组进行标记:把重复出现的数字在原数组出现的位置设为负数,最后仍然为正数的位置即为没有出现过的数。
下一页