Category: leetcode

力扣1016-子串能表示从1到N数字的二进制串

摘要: 数学算法+滑动窗口+哈希表 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个需要一点数学推导,同时又综合了滑动窗口和哈希表的问题。 题目给定一个二进制字符串 s 和一个正整数 n

力扣730-统计不同回文子序列

摘要: 不同的回文子序列个数 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个比较难的问题,算法的核心是动态规划,根据动态规划阶段的不同选取方式,有普通的区间DP,以及序列自动机两种做法

力扣940-不同的子序列

摘要: 不同的子序列 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个比较难的问题,算法的核心是动态规划,根据动态规划阶段的不同选取方式,有普通的一维线性DP,以及序列自动机两种做法。

力扣2106-摘水果

摘要: 一个比较综合的前缀和问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,今天我们来看一个比较综合的问题,涉及到前缀和、二分和滑动窗口的综合,并且非常考验耐心。 题目 2106. 摘水

力扣206-反转链表

摘要: 面试最爱问的反转链表,迭代和递归 【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:潮汐朝夕我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们来看一下面试当中非常爱问的反转链表,当你去面试别人不知道问什么题的时候,就问

力扣1630-等差子数组

摘要: 力扣1630-等差子数组,等差数列的判定 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 题目1630. 等差子数组 如果一个数列由至少两个元素组成,且每两个连续元素之间的差值都相同,那么这个

力扣2389-和有限的最长子序列

摘要: 一个比较综合的简单题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们来看力扣上的一道我认为不错的题目,2389. 和有限的最长子序列,本题在力扣上标记为简单题,但该题综合了排

力扣1390-四因数

摘要: 力扣 1390,算数基本定理与素数筛 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文看一个数论题,属于算数基本定理的应用,当然本题也可以用枚举的方法解决。 题目 1390. 四因

力扣866-回文素数

摘要: 力扣 866-回文素数。构造回文+素性测试。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个题,算是素性测试的应用。此外本题枚举回文串的过程也是一个难点,值得学习。 题目 86

力扣952-按公因数计算最大组件大小

摘要: 本文详细拆解 力扣952-按公因数计算最大组件大小。分解质因数+并查集 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们来看一个数论与并查集结合的问题,综合性比较强。 $1 题

力扣372-超级次方

摘要: 力扣 372:快速幂、扩展欧拉定理 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 题目 372. 超级次方 你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正

力扣1813-句子相似性3

摘要: 双串单向双指针 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,今天我们来看一个双指针的问题,力扣 1813。本题比较纯粹,就是双串单向双指针,没有综合其他的算法。 双串单向双指针是双

力扣1658-将x减到0的最小操作数

摘要: 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,今天我们来看一个单串单向双指针的问题。本题的特点是随着窗口左端点 left 变大,合法的窗口右端点 right 也会变大,这样的话我们

leetcode第325场周赛

摘要: 本文是 leetcode 第 325 周赛的记录。主要涉及的算法包括值域二分、双指针、动态规划 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览本周进行了 leetcode 第 325 场

leetcode第322场周赛

摘要: 本文是 leetcode 第 322 周赛的记录。主要涉及的算法包括单串单向双指针、哈希表、BFS、BFS 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览本周进行了 leetcode 第

leetcode第321场周赛

摘要: 本文是 leetcode 第 321 周赛的记录。主要涉及的算法包括数学、贪心、逆向思维、频数前缀和 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览本周进行了 leetcode 第 32

最大子数组乘积

摘要: 最大子数组乘积,最大子数组和的一个变种问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 最大子数组和的三种解法 中,我们详细拆解了最大子数组和这个问题,并且了解到这个问题有三种解法

环形数组上的最大子数组和

摘要: 环形数组上的最大子数组和,有动态规划、前缀和两种解法。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在前一篇文章 最大子数组和的三种解法 中,我们详细拆解了最大子数组和这个问题,并且了解到

【树形DP】力扣968-监控二叉树

摘要: 力扣 968, 状态比较复杂的树形 DP 题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,在文章 【树形DP】树的直径 中,我们学习了树形 DP 的经典题目:树的直径,理

力扣1162-多源BFS与多源最短路径

摘要: 力扣 1162,最基础的多源 BFS 题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 上个周日照例参加了力扣秋季赛的个人赛,在文章 2022力扣秋季赛个人赛战报 中记录的战报,并

【DP难题】力扣1595-连通两组点的最小成本

摘要: 力扣 1575,比较难的图论题,抽象之后是最小边覆盖问题,有状态压缩DP和二分图最大匹配两种解法。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 今天我们来看一个比较难的图论题,力扣

leetcode第300场周赛

摘要: 本文是 leetcode 第 300 周赛的记录。主要涉及的算法包括哈希表、模拟、逆向思维、动态规划。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览这是 leetcode 第 300

【逆向思维】力扣780-到达终点

算法要点: 逆向思维,参考文章 逆向思维。 $1 题目题目链接780. 到达终点 题目描述给定四个整数 sx , sy ,tx 和 ty,如果通过一系列的转换可以从起点 (sx, sy) 到达终点 (tx, ty),则返回 true,否则返回 false。 从点 (x, y) 可以转换到 (x, x+y) 或者 (x+y, y)。 12提示:1 <= sx, sy, tx, ty

力扣2104-子数组的范围和

摘要: 通过一个问题看分别计算各个元素对答案的贡献的思想 【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:潮汐朝夕我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 面试好题连载 中,我们提到了适合作为面试题的几个标准大致如下: 对于

leetcode题目卡片

摘要: 刷题笔记中质量比较好的题目汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 这是汇总我早期刷题时写的笔记,当时每一道题都会抄题,然后手写思路,当然后来就不这么做了。 因为只是自己的笔记,大

leetcode难题卡片

摘要: 困难题的手写笔记汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 这是汇总我早期刷题时写的笔记,当时每一道题都会抄题,然后手写思路,当然后来就不这么做了。 因为只是自己的笔记,大部分的都是

leetcode第279场周赛

摘要: 本文是 leetcode 第 279 周赛的记录。主要涉及的算法包括下标映射、模拟、设计、惰性更新、前缀和 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览 A题: 下标映射 下标映射

【分类讨论】力扣29-两数相除

摘要: 本文详细拆解 leetcode 29-两数相除,主要涉及分类讨论。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 面试好题连载 中,我提到了我认为的适合作为面试题的标准,这里复习一下

力扣437-路径总和3

摘要: 在树结构上维护前缀和的问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 面试好题连载 中,我提到了我认为的适合作为面试题的标准,这里复习一下: 对于适合面试的题目,以下几个

力扣524-通过删除字母匹配到字典里最长单词

在文章 面试好题连载 中,我提到了我认为的适合作为面试题的标准,这里复习一下: 对于适合面试的题目,以下几个要点中 (1)(2)(5)必须满足,(3)(4)至少满足一个: (1) 考查基础的数据结构和主流算法,避开邪门算法和脑筋急转弯(2) 暴力方法很容易想到(3) 最好有两种以上的优化方式(4) 最好有两三道递进的题可以放到一起(5) 最终代码不长 今天我们看一个比较基础的题,leetcod

leetcode第254场周赛

摘要: 本文是 leetcode 第 254 周赛的记录。主要涉及的算法包括贪心、快速幂、值域二分、搜索。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览: A题: 水题 B题: 贪心 参考:

【DP难题】力扣1411-给Nx3网格图涂色的方案数

摘要: 使用动态规划解决计数问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,最大子数组和这个系列此前连续写了八篇,有些审美疲劳了。今天我们换换脑子,看个使用动态规划解决计数问题的一个例子

leetcode第249场周赛

摘要: 本文是 leetcode 第 249 周赛的记录。主要涉及的算法包括模拟、频数前缀和、计数DP、哈希映射。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览 A题: 水题 B题: 频数前缀

【搜索难题】力扣489-扫地机器人

算法要点 回溯 参考: 隐式图搜索 DFS $1 题目题目链接489. 扫地机器人 题目描述房间(用格栅表示)中有一个扫地机器人。格栅中的每一个格子有空和障碍物两种可能。 扫地机器人提供4个API,可以向前进,向左转或者向右转。每次转弯90度。 当扫地机器人试图进入障碍物格子时,它的碰撞传感器会探测出障碍物,使它停留在原地。 请利用提供的4个API编写让机器人清理整个房间的算法。 12

力扣689-三个无重叠子数组的最大和

算法要点 同时预处理出前缀和和后缀和 参考: 前缀和问题分类汇总 $1 题目题目链接 689. 三个无重叠子数组的最大和 题目描述给定数组 nums 由正整数组成,找到三个互不重叠的子数组的最大和。 每个子数组的长度为k,我们要使这3*k个项的和最大化。 返回每个区间起始索引的列表(索引从 0 开始)。如果有多个结果,返回字典序最小的一个。 1234注意:nums.length的范围在

力扣1352-最后K个数的乘积

摘要: 一个前缀和的变种问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 前缀和是力扣上非常常见的一个算法知识点,题非常多。在文章 【模板】前缀和与差分 中,我们介绍了前缀和与差分的算法原理和代码

力扣962-最大宽度坡

算法要点: 单调栈 相关题目 力扣1124-表现良好的最长时间段 $1 题目题目链接 962. 最大宽度坡 题目描述给定一个整数数组 A,坡是元组 (i, j),其中 i < j 且 A[i] <= A[j]。这样的坡的宽度为 j - i。 找出 A 中的坡的最大宽度,如果不存在,返回 0 。 123提示:2 <= A.length <=

力扣1124-表现良好的最长时间段

算法要点 前缀和 单调栈 相关题目 力扣962-最大宽度坡 $1 题目题目链接1124. 表现良好的最长时间段 题目描述给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。 请你返回「表现良好时

leetcode第242场周赛

摘要: 本文是 leetcode 第 242 周赛的记录。主要涉及的算法包括双指针、值域二分、队列、动态规划、前缀和、博弈。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览 A题: 单串单向双指

leetcode第52场双周赛

摘要: 本文是 leetcode 第 52 双周赛的记录。主要涉及的算法包括字符串、模拟、双指针、前缀和、二分。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览 A题: 字符串 B题: 模拟 参

leetcode第241场周赛

摘要: 本文是 leetcode 第 241 周赛的记录。主要涉及的算法包括枚举子集、分类讨论、设计、动态规划、组合数学。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览 A题: 枚举子集 参考

力扣1722-执行交换操作后的最小汉明距离

算法要点: 并查集: 加边之后返回所有连通分量 并查集 并查集-加边过程中维护具体连通分量 求两个数组的交集 【STL】有序容器的集合操作 $1 题目题目链接1722. 执行交换操作后的最小汉明距离 题目描述给你两个整数数组 source 和 target ,长度都是 n 。还有一个数组 allowedSwaps ,其中每个 allowedSwaps[i] = [ai, bi] 表示

【设计难题】力扣1797-设计一个验证系统

摘要: 设计难题,验证系统 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个设计问题,第 48 场双周赛 B 题。本题的设计以哈希表为核心,类似的设计题汇总见文章 设计-功能系统。此外还

力扣1793-好子数组的最大分数

第 232 周赛 D 题 算法要点 单调栈 参考: 单调栈, 单调栈题目汇总 $1 题目题目描述给你一个整数数组 nums (下标从 0 开始)和一个整数 k 。 一个子数组 (i, j) 的 分数 定义为 min(nums[i], nums[i+1], …, nums[j]) * (j - i + 1) 。一个 好 子数组的两个端点下标需要满足 i <= k <= j 。

力扣1792-最大平均通过率

第 232 周赛 C 题 算法要点 堆贪心 参考: 贪心 $1 题目题目链接 1792. 最大平均通过率 题目描述一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学生可以通过

leetcode第240场周赛

摘要: 本文是 leetcode 第 240 周赛的记录。主要涉及的算法包括扫描线算法、双指针、单调栈、动态规划。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览 A题: 扫描线算法 参考: 扫

带大小限制的最大子数组/子矩阵和

摘要: 带大小限制的最大子矩阵和 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 最大子数组和的三种解法 中,我们详细拆解了最大子数组和这个问题,并且了解到这个问题有三种解法,都非常主流,并且

力扣548-将数组分割成和相等的子数组

相关的算法或数据结构 哈希表 前缀和: 【模板】前缀和与差分 $1 题目题目链接 548. 将数组分割成和相等的子数组 题目描述给定一个有 n 个整数的数组,你需要找到满足以下条件的三元组 (i, j, k) : 0 < i, i + 1 < j, j + 1 < k < n - 1子数组 (0, i - 1),(i + 1, j - 1),(j + 1, k -

【搜索难题】力扣1258-近义词句子

大杂烩:DFS + 哈希表 + 并查集 + 排序 $1 题目题目链接1258. 近义词句子 题目描述给你一个近义词表 synonyms 和一个句子 text , synonyms 表中是一些近义词对 ,你可以将句子 text 中每个单词用它的近义词来替换。 请你找出所有用近义词替换后的句子,按 字典序排序 后返回。 提示:123450 <= synonyms.length &

【多维分桶】力扣939,963-最小面积矩形

用坐标值对点做哈希,用哈希值 用中点和长度对点对(线段,圆)做哈希,用哈希值分桶 多层 treemap 对点对做多属性分桶 STL无序关联容器自定义哈希函数 939. 最小面积矩形题目描述给定在 xy 平面上的一组点,确定由这些点组成的矩形的最小面积,其中矩形的边平行于 x 轴和 y 轴。 如果没有任何矩形,就返回 0。 提示:12341 <= points.length