上一页 1 2 3 4 5 6 7 8 ··· 15 下一页
摘要: 仍然可以用 manacher 板子的回顾这里就不重复贴了,可以看 https://www.cnblogs.com/rdcamelot/p/19753872 这里没有什么本质的区别,就是要额外记录一下回文串是什么样的 vector<int> manacher(string s) { string t 阅读全文
posted @ 2026-04-27 13:01 rdcamelot 阅读(12) 评论(0) 推荐(0)
摘要: 如果没有 * 这样的特殊字符,实际上双指针匹配就可以满足要求了 但是因为 * 会匹配零次或多次,所以每个位置可能会有多个匹配方式了,因此匹配的时候我们会需要去看前面的子串能否匹配,以及据此来决定这个位置的匹配形式 这就有些类似于 DP 的状态转移形式了 因为题目要求是能否被完全匹配,以及结合之前双指 阅读全文
posted @ 2026-04-27 11:24 rdcamelot 阅读(20) 评论(0) 推荐(0)
摘要: 首先我们找比较特殊的点 考虑一个元素,我们不去看那些比它小的元素的话,那么它的最大答案是最远的大于它的和它构成容器 这是因为答案计算的方式是 min(a[l], a[r]) * (r - l) 进一步的结论是比如我们考虑的元素的下标是 r,找到的那个元素的下标是 l,那么 [l, r) 中的元素一定 阅读全文
posted @ 2026-04-25 23:41 rdcamelot 阅读(24) 评论(0) 推荐(0)
摘要: 枚举 + 双指针 首先进行排序容易想到,然后是三数,如果 \(n^3\) 显然是不行的 因此考虑怎么降低时间复杂度 考虑到两数相对是比较易做的,所以提取一个数,也就是外层遍历,固定其中一个数,进而将三数之和变成两数之和 什么情况可以使用双指针 当状态移动状态具有单调性,也就是指针移动后,肯定不会需要 阅读全文
posted @ 2026-04-24 18:20 rdcamelot 阅读(8) 评论(0) 推荐(0)
摘要: 因为天梯赛不能使用 vscode ,所以要下载 codeblocks,但是使用上会有些不习惯,所以做个记录(不过这应该是参加的最后一次天梯赛了) 首先下载网页直接搜索就可以 default 指的是 默认推荐的 64 位 Windows 版本 special 是 32 位的 windows 版本 一般 阅读全文
posted @ 2026-04-18 22:56 rdcamelot 阅读(99) 评论(0) 推荐(0)
摘要: 就是回溯 每一轮选择可能的字母填上 class Solution { public: vector<string> letterCombinations(string a) { vector<string> ans; string path; vector<string> mp = {"", "", 阅读全文
posted @ 2026-04-17 14:13 rdcamelot 阅读(6) 评论(0) 推荐(0)
摘要: 要一轮结束的话显然需要双指针 但这次快慢指针不可行,因为我们是要固定找为节点的前 n 个 因此计数 每次都同时移动一个单位的话那么两个指针的间隔是相同的 所以我们不妨构造两个间隔为 n 的,这样快的那个到达尾部之后,慢的那个恰好来到了距离尾部 n 个的位置 /** * Definition for 阅读全文
posted @ 2026-04-16 23:47 rdcamelot 阅读(15) 评论(0) 推荐(0)
摘要: 用栈模拟即可 但情况的覆盖,比如栈为空,或最后没匹配完的情况等 注意从 string 中遍历出来的是 char 类型 class Solution { public: bool isValid(string s) { vector<char> st; for (auto i : s) { if (i 阅读全文
posted @ 2026-04-16 23:23 rdcamelot 阅读(18) 评论(0) 推荐(0)
摘要: 前面一道链表的弱化版 看作各有一个指针指向链表 当前哪个元素小就接上哪个 肯定有一个先使用完 这时候剩下的那个就全部接到末尾 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex 阅读全文
posted @ 2026-04-16 23:12 rdcamelot 阅读(11) 评论(0) 推荐(0)
摘要: 就是前缀和的思路 是否能组成和为 k 连续子序列就是看前缀和为 pre - k 的出现过多少次 也就是我们在枚举的是序列的右端点,找左端点 class Solution { public: int subarraySum(vector<int>& a, int k) { unordered_map< 阅读全文
posted @ 2026-04-16 22:59 rdcamelot 阅读(12) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 15 下一页