![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode
文章平均质量分 78
leetcode上刷题遇到的问题
coding-hwz
生前何必久睡
展开
-
leetcode 2097 — 合法重新排列数对
欧拉图原创 2022-06-29 12:34:25 · 235 阅读 · 1 评论 -
leetcode 6103 — 从树中删除边的最小分数
leetcode 6103 — 从树中删除边的最小分数原创 2022-06-26 13:39:46 · 374 阅读 · 0 评论 -
leetcode 2157 — 字符串分组
leetcode 2157 — 字符串分组一、题目描述二、思路分析三、实现1、并查集(1)等价类一、题目描述二、思路分析这里需要注意题目里给出的要求:在任意一个子串中,每个字母最多只出现一次。这就提示我们使用26位二进制数来表示每一个字符串以及与它相关联的字符串。那么怎么得到一个数所有相关联的字符串呢?这里主要就是借助位运算:添加或者删除一个字符串可以认为是对某一位取反;替换一个字符串相当于任取一个0和一个1的位,取反。三、实现我们可以选择将所有字符串构成图,借助广度优先搜索找到所有关联集原创 2022-05-25 09:20:33 · 335 阅读 · 0 评论 -
leetcode 2227 — 加密解密字符串
leetcode 2223 — 构造字符串的总得分和一、题目描述二、算法1、字典树2、实现一、题目描述二、算法这道题使用逆向分析比较简单,我们这里主要是学习下字典树的使用。1、字典树字典树(trie),其实就是一个有限状态自动机。一个由 a、an、the 三个单词构成的字典树如图:通常,我们可以使用状态转移矩阵来保存转换过程:class Trie { static const int MAX_STATUS_NUM = 100000; int statusNum = 0; int fs原创 2022-05-19 23:28:53 · 422 阅读 · 0 评论 -
leetcode 2223 — 构造字符串的总得分和
leetcode 2223 — 构造字符串的总得分和一、题目描述二、算法一、题目描述二、算法这道题实际上就是考察的扩展 KMP 算法。与 KMP 算法类似,扩展 KMP原创 2022-04-20 11:41:54 · 1434 阅读 · 0 评论 -
leetcode 2213 — 由单个字符重复的最长子字符串
leetcode 2213 — 由单个字符重复的最长子字符串原创 2022-04-18 20:43:24 · 505 阅读 · 0 评论 -
leetcode 2187 — 完成旅途的最少时间
leetcode 2187 — 完成旅途的最少时间一、题目描述二、题目分析三、实现1、初步实现2、步长改进实现3、二分法实现一、题目描述二、题目分析我的第一个想法是为每辆车保存 (totalTime, remainTime) 元组,二者分别用于记录完成一次旅途的总时间以及完成当次旅途的剩余时间。使用这两个时间排序所有公交车,序列的首元素即为当次旅途需要选用的车辆。在每次选用一辆车之后更新所有车辆的剩余时间(减去选用车辆的剩余时间)。该算法时间复杂度为 O(time.length∗totalTrips原创 2022-03-23 15:30:19 · 2006 阅读 · 0 评论 -
leetcode 2179 — 统计数组中好三元组数目
统计数组中好三元组数目一、题目描述二、题目分析三、算法四、实现1、初步实现一、题目描述二、题目分析这道题的暴力解法就是:枚举 nums1 中的每个元素,找到该元素在 nums2 中的位置,然后在 nums1 和 nums2 的剩余部分中寻找一个好二元组。不难发现,这样算法的复杂度为 O(n^3),不能满足我们的要求。上述算法的问题在于每次搜索都无法利用前面搜索过程得到的任何信息。关键点1:nums2 中的元素如果被访问过,在后续访问时是不用处理的,因为这样的元素对在 nums1 和 nums2原创 2022-03-22 20:58:47 · 1823 阅读 · 1 评论 -
leetcode 2172 — 数组的最大与和
leetcode 2172 — 数组的最大与和一、题目描述二、题目分析三、算法四、实现一、题目描述二、题目分析题目中给出的篮子数目并不多。然而,如果我们分析在 numSlots = 9,nums.size() = 18 这种情况下可能出现的分配方式个数:第一个篮子有 C182C_{18}^2C182 中选择,依此类推,共计 12,504,636,144,000 种情况。因此,我们需要压缩所有情况的个数。关键点1:每个篮子只能放置2个数字因此,每个篮子中放置数字的个数只可能是 0,1,2原创 2022-03-21 14:33:21 · 631 阅读 · 0 评论 -
leetcode — 25. K 个一组翻转链表 遇到问题求助下各位
leetcode — 25. K 个一组翻转链表 遇到问题求助下各位题目描述初步解法改进后的解法问题题目描述给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。进阶你可以设计一个只使用常数额外空间的算法来解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。初步解法class Solution {public: ListNode* re原创 2021-04-05 13:10:38 · 59 阅读 · 0 评论