题目链接:https://leetcode-cn.com/problems/binary-subarrays-with-sum/

开心滑动窗口,特判可有可无但是对于神奇样例会快一点。记得双指针的界限要放在最前面!!!

代码如下:

class Solution {public:int numSubarraysWithSum(vector<int>& A, int S) {// 特判int sum =  0;for(int i = 0; i < A.size(); i++) {sum += A[i];}if(S > sum || S < 0) {return 0;}// 初始化int i = 0, j = 0, index = 0;int res = 0;sum = 0;// 滑动窗口while(j < A.size()) {i = index;sum += A[j];while(sum > S) {if(i >= j) {break;}sum -= A[i];i++;}index = i;int pos = sum;   //由于下面要记录还有多少可能,会改变sum,但是sum在下一次循环还会用到,所以要用一个临时变量代替一下。while(pos == S) {res++;if(i >= j) {break;}pos -= A[i];i++;}printf("index = %d, i = %d, j = %d, res = %d\n", index, i, j, res);j++;}return res;}
};

Leetcode 930. 和相同的二元子数组 题解相关推荐

  1. LeetCode 930. 和相同的二元子数组(哈希+前缀和)

    文章目录 1. 题目 2. 解题 1. 题目 在由若干 0 和 1 组成的数组 A 中,有多少个和为 S 的非空子数组. 示例: 输入:A = [1,0,1,0,1], S = 2 输出:4 解释: ...

  2. 【LeetCode】第930题——和相同的二元子数组(难度:中等)

    [LeetCode]第930题--和相同的二元子数组(难度:中等) 题目描述 解题思路 代码详解 思路一:哈希表+前缀和 思路二:滑窗 注意点 题目描述 给你一个二元数组 nums ,和一个整数 go ...

  3. LeetCode简单题之通过翻转子数组使两个数组相等

    题目 给你两个长度相同的整数数组 target 和 arr . 每一步中,你可以选择 arr 的任意 非空子数组 并将它翻转.你可以执行此过程任意次. 如果你能让 arr 变得与 target 相同, ...

  4. LeetCode 2090. 半径为 k 的子数组平均值(滑窗)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的数组 nums ,数组中有 n 个整数,另给你一个整数 k . 半径为 k 的子数组平均值 是指:nums 中一个以下标 i 为 ...

  5. LeetCode 1031. 两个非重叠子数组的最大和(一次遍历,要复习)*

    文章目录 1. 题目 2. 解题 2.1 暴力枚举 2.2 一次遍历 1. 题目 给出非负整数数组 A ,返回两个非重叠(连续)子数组中元素的最大和,子数组的长度分别为 L 和 M.(这里需要澄清的是 ...

  6. LeetCode 713. 乘积小于K的子数组(滑动窗口)

    1. 题目 给定一个正整数数组 nums. 找出该数组内乘积小于 k 的连续的子数组的个数. 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小于 ...

  7. LeetCode 1186. 删除一次得到子数组最大和(DP)

    1. 题目 给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和. 换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只 ...

  8. LeetCode 560. 和为K的子数组(前缀和差分)

    1. 题目 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数. 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1 ...

  9. 11. Leetcode 713. 乘积小于K的子数组 (数组-同向双指针-滑动窗口)

    给定一个正整数数组 nums和整数 k .请找出该数组内乘积小于 k 的连续的子数组的个数.示例 1:输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小于10 ...

最新文章

  1. KVM 创建虚拟机时,--os-variant参数这样填写
  2. 压力、焦虑远远超出全国平均值,近4成程序员心理不健康?
  3. 消息中间件kafka与activeMQ、rabbitMQ、zeroMQ、rocketMQ的比较
  4. Windows Server 2016 搭建 FTP服务
  5. lede 内核 单 编_终于搞定,在lede官方源码编译k3固件的方法。求助变分享
  6. CISP 考试教材《第 9 章 知识域:计算环境安全》知识整理
  7. JDBC - 宋红康 - 核心技术
  8. tumblr_将您的Tumblr博客与社交网络集成
  9. 0基础可不可以学大数据
  10. UE4虚幻引擎4多人联机基础知识和客户端服务器通信机制详解
  11. 虚拟化kvm-虚拟化概述
  12. 【本/硕毕业生】开题报告及论文指导思路和撰写事项的整理
  13. linux看磁带内容命令,Linux下磁带管理命令
  14. LeCun领导下的Meta AI,押注自监督
  15. Web端H5播放FLV、HLS、MP4 (二)
  16. 软件设计七大原则实战(二)-开闭原则
  17. 关于QQ的相关代码收集整理
  18. 解决coursera可以登录但无法播放视频
  19. vmware安装centos7登录出现something went gone 错误
  20. 自动控制原理---时域

热门文章

  1. 小豹子单骑追敌(天津美术197310版)扫描版
  2. 揭秘 vivo 如何打造千万级 DAU 活动中台 - 启航篇
  3. Python实现平方根倒数速算法
  4. 用Jupyter—Notebook爬取网页数据实例15(详讲selenium库)
  5. 操作系统安全配置操作
  6. python实现自动打电话-python 实现手机自动拨打电话的方法(通话压力测试)
  7. 加解密与HTTPS(1)
  8. Hi3516内核编译
  9. html5霓虹效果代码,纯CSS实现酷炫的霓虹灯效果(附demo)
  10. 《联想本有更好的路走》《杨元庆会不会掉队》《少帅杨元庆》