![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题集
文章平均质量分 93
整理一些如灵神的题集
echo-su
这个作者很懒,什么都没留下…
展开
-
前缀和+哈希表
个字符,所以很有可能要出现状态压缩和位运算相关的,所以我们可以用一个10位的二进制位表示每个字符出现的奇偶次数,0表示出现了偶数次,为1表示出现了奇数次,然后我们可以通过异或运算来变化,因为异或可以实现2进制的模2加法,我们用。接下来要求只出现1次的结果,实际上就是要求一个二进制数是的s ^ y = 1 << i,然后y = 1 << i ^ s。这道题要求我们求一个子串中数字和字母的个数相同,要让子串最大,我们可以假设字母为。我们处理很多求子数组,子串的时候对某种要求有限制,比如要求子串和为。原创 2024-02-19 18:26:54 · 797 阅读 · 0 评论 -
相向双指针题单
实际上我们枚举第一个数,然后让剩余两个数相加等于这个数的负数就变得和上一道题一样了,这道题还需要注意的一点是我们需要去重,就是我们相同的数只考虑最后一个,其他的就让他。这道题也是沿用之前的思路,唯一不同的是由于有四个数,所以我们需要枚举二重循环来判别,还需要注意到是和可能会爆。,我们就把右指针左移,否则就把左指针右移.我们可以这样理解,我们每次循环的时候,花费。的信息,我们一般都是先暴力求解,然后再通过某些性质来获取更多的信息,比如。这道题也是和上一题一样的思路,唯一的区别在于我们需要定义一个。原创 2024-02-12 14:47:07 · 1043 阅读 · 1 评论 -
前缀和与哈希表(上)
最基本的前缀和和哈希表问题,而且注意这种问题一般不需要用真正的前缀和数组来统计,用一个值来统计即可,最后这道题还需要注意,到最后还要加上一个。因为这道题要求子数组长度至少为2,所以可以做一个特殊考虑,比如我们每次考虑两个数,当前数和前一个数,如果当前数可以找到结果就直接返回。距离最远,然后就可以用前缀和来统计,我们统计一个递减的单调栈,然后我们从后往前统计前缀和s,然后求一个最大值就可。转化思路加单调栈,可以把时长<8的看作是-1,时长大于8的看作是1,所以实际上就是求。子数组是数组中元素的连续非空序列。原创 2024-02-06 09:33:14 · 696 阅读 · 1 评论