首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
yogurtzzz
创建于2021-05-11
订阅专栏
算法专栏
等 8 人订阅
共83篇文章
创建于2021-05-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
LeetCode 306周赛 (补记)
2373. 矩阵中的局部最大值 题目描述 给你一个大小为 n x n 的整数矩阵 grid 。 生成一个大小为 (n - 2) x (n - 2) 的整数矩阵 maxLocal ,并满足: maxLo
LeetCode 560. 和为K的子数组
题目描述 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。 思路 连续子数组,和。容易想到前缀和。 若某个子数组区间为[i, j],其和等于k,设
LeetCode 347. 前K个高频元素
题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 是一个经典topk问题 哈希表 + 堆排 先用哈希表进行频率统计,然后维护
LeetCode 1297. 子串的最大出现次数
题目描述 给你一个字符串 s ,请你返回满足以下条件且出现次数最大的 任意 子串的出现次数: 子串中不同字母的数目必须小于等于 maxLetters 。 子串的长度必须大于等于 minSize 且小于
LeetCode 周赛笔记 —— 2022年8月 第一周
84双周赛 2363.合并相似物品 签到题,使用简单的哈希表进行合并即可,注意最后需要排序。 当然,也可以直接使用TreeMap,会自动根据key进行排序 周赛当晚我是手写了排序 6142. 统计坏数
LeetCode 1494. 并行课程II (状态压缩DP)
状态压缩DP的典型例题,实际上是一个并行任务的最少执行周期的问题。无法通过拓扑排序或者贪心的策略得到正确答案。只能通过状态压缩DP枚举全部可能
LeetCode 买卖股票的最佳时机系列 121. 122. 123. 188. 309. 714
121 Easy 题目描述: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日
LeetCode 105.根据前序和中序遍历构造二叉树(递归+迭代)
@[toc] 前序遍历是按照:[根节点 - 左子树 - 右子树] 的顺序访问节点的 中序遍历是按照:[左子树 - 根节点 - 右子树] 的顺序访问节点的 我们可以先根据前序遍历序列中的第一个元素,找到
LeetCode 3. 无重复字符的最长子串 -> follow up 395. 424. 1004. 1208. 1493. 2024. (滑动窗口系列)
题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 思路 如果区间[l,r]内有重复字符,则以l作为左端点的不含重复字符的子串,不可能伸到r以右的位置。则用滑动窗口即可。
LeetCode 718. 最长重复子数组
题目描述 给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度。 动态规划 两个数组,找公共子数组。第一思路是动态规划,设f[i,j]表示在nums1中以位
二叉树的遍历系列(非递归)
二叉树的遍历:前序,中序,后序 (前,中,后,都是以根节点的访问顺序为参照。前序即为:根节点在最前;中序即为:根节点在中间;后序即为:根节点在最后。) 先上非常简单的递归版 用递归的方式来写,代码非常
LeetCode 4. 寻找两个正序数组的中位数(多解法)
解法一:合并数组 将两个数组合并后,直接根据下标找到中位数。时间复杂度$O(m + n)$,空间复杂度 $O(m + n)$ 解法二:双指针 无需合并两个数组,只需要用双指针进行比较并移动到对应位置即
LeetCode 螺旋矩阵 54. 59.
54. 螺旋矩阵 题目描述:给你一个 m 行 n 列的矩阵 matrix ,请按照顺时针螺旋顺序,返回矩阵中的所有元素。 题解:模拟即可。两种模拟方式: 直接模拟 按层模拟(转圈遍历) 直接模拟:设置
LeetCode 46. 全排列 47.全排列II
题目描述 46.全排列:给定一个不含重复数字的数组nums,按任意顺序返回所有全排列。 47.全排列II:给定一个含重复数字的数组nums,按任意顺序返回所有不重复的全排列。 题解 46.全排列:是标
LeetCode 5. 最长回文子串(暴力+动态规划+中心开花+马拉车)+ follow up 647. 516.
题目描述 给定一个字符串s,找出s中最长的回文子串 题解 暴力 先想一个最直观最简单的:遍历全部子串,依次判断是否是回文,然后取其中最长的作为答案。 枚举全部子串的复杂度为 $O(n^2)$,而判断每
LeetCode 岛屿系列全解析 200. 463. 1905. 1254. 695. 827. 694. 711
题目描述 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 DFS 其实就是求连
LeetCode 旋转数组系列 153.154.33.81
题目描述 这几道都是旋转数组的题目,区别只是题目的条件限制不太一样。 旋转数组是这样的一种数组:将一个按升序排列好的数组,往右侧循环移位,使得整个数组形成左右两个有序区间,且左区间的数都比右区间的数大
LeetCode 102. 二叉树的层序遍历
题目描述 给定一颗二叉树,返回其层序遍历的结果。 经典解法 层序遍历(宽度优先搜索BFS)的经典实现是,借用一个队列。 递归实现 下面采用DFS递归来实现层序遍历 关键点在于: 如何保证每一层是按照从
LeetCode. 460 LFU缓存
题目描述 实现一个LFU缓存(Least Frequently Used)。 在需要移除元素时,移除最近访问频率最低的。可以对每个元素增加一个计数器,访问一次就计数加一。若2个或多个元素拥有相同的最少
LeetCode 1171. 从链表中删去总和值为零的连续节点
题目描述 给定一个链表,请反复删去链表中和为0的连续序列,直到不存在这样的序列为止。 比如 [1,2,-3,3], 可能的答案为 [3],或者[1,2] 思路 连续和为0,连续和,容易想到前缀和。顺着
下一页