leetcode 930. 和相同的二元子数组

题目如下

数据范围

示例

复制代码
在这道题之前我们曾经写过 1358. 包含所有三种字符的子字符串数目(以下称1358)。1358实际上就是让我们找到最小符合题意的子串,那么跟这道题有什么关系呢?
如果我把求和相同的数目改为求大于等于的数目呢?
显然直接求等于的数量不好求那么我们可以用大于等于的数量减去大于的数量那不就是等于的数量么。
所以我们的方法还是一样:不定长的滑动窗口固定右端点移动左端点来寻找最小符合题意的子数组。

通过代码
1358 寻找最小符合题意的子串可以看看这个

cpp 复制代码
class Solution {
public:
    int numSubarraysWithSum(vector<int>& nums, int goal) {
        int n = nums.size();
        int sum = 0;
        int count = 0;
        for(int i = 0,j = 0;i < n;i++){
            sum += nums[i];
            while(j <= i && sum > goal)sum -= nums[j++];
            count -= j;
        }sum = 0;
           for(int i = 0,j = 0;i < n;i++){
            sum += nums[i];
            while(j <= i && sum >= goal)sum -= nums[j++];
            count += j;
        }
        return count;
    }
};
相关推荐
七七知享14 分钟前
从 0 到 1 构建 Python 分布式爬虫,实现搜索引擎全攻略
分布式·爬虫·python·程序人生·算法·搜索引擎·网络爬虫
珹洺26 分钟前
C++从入门到实战(六)类和对象(第二部分)C++成员对象及其实例化,对象大小与this详解
java·开发语言·汇编·数据结构·c++·sql·算法
老友@30 分钟前
分布式限流方案:基于 Redis 的令牌桶算法实现
java·redis·分布式·算法·令牌桶·接口限流
进取星辰34 分钟前
PyTorch 深度学习实战(20):基于模型的强化学习与 PETS 算法(Gymnasium 优化版)
pytorch·深度学习·算法
小林熬夜学编程39 分钟前
【高并发内存池】第三弹---构建Central Cache的全方位指南——从整体设计到核心实现
c语言·开发语言·数据结构·c++·算法
_extraordinary_1 小时前
dfs刷题排列问题 + 子集问题 + 组和问题总结
算法·深度优先
Run_Teenage1 小时前
C语言 数据结构【动态顺序表】详解
c语言·开发语言·数据结构
β添砖java1 小时前
PTA团体程序设计天梯赛-练习集46-50题
开发语言·c++·算法
Bczheng11 小时前
C++ 语法之数组指针
开发语言·c++
schedule___1 小时前
visual studio 中导入 benchmark
c++·visual studio·benchmark