Leetcode 930. 和相同的二元子数组 题解
题目链接: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. 和相同的二元子数组 题解相关推荐
- LeetCode 930. 和相同的二元子数组(哈希+前缀和)
文章目录 1. 题目 2. 解题 1. 题目 在由若干 0 和 1 组成的数组 A 中,有多少个和为 S 的非空子数组. 示例: 输入:A = [1,0,1,0,1], S = 2 输出:4 解释: ...
- 【LeetCode】第930题——和相同的二元子数组(难度:中等)
[LeetCode]第930题--和相同的二元子数组(难度:中等) 题目描述 解题思路 代码详解 思路一:哈希表+前缀和 思路二:滑窗 注意点 题目描述 给你一个二元数组 nums ,和一个整数 go ...
- LeetCode简单题之通过翻转子数组使两个数组相等
题目 给你两个长度相同的整数数组 target 和 arr . 每一步中,你可以选择 arr 的任意 非空子数组 并将它翻转.你可以执行此过程任意次. 如果你能让 arr 变得与 target 相同, ...
- LeetCode 2090. 半径为 k 的子数组平均值(滑窗)
文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的数组 nums ,数组中有 n 个整数,另给你一个整数 k . 半径为 k 的子数组平均值 是指:nums 中一个以下标 i 为 ...
- LeetCode 1031. 两个非重叠子数组的最大和(一次遍历,要复习)*
文章目录 1. 题目 2. 解题 2.1 暴力枚举 2.2 一次遍历 1. 题目 给出非负整数数组 A ,返回两个非重叠(连续)子数组中元素的最大和,子数组的长度分别为 L 和 M.(这里需要澄清的是 ...
- LeetCode 713. 乘积小于K的子数组(滑动窗口)
1. 题目 给定一个正整数数组 nums. 找出该数组内乘积小于 k 的连续的子数组的个数. 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小于 ...
- LeetCode 1186. 删除一次得到子数组最大和(DP)
1. 题目 给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和. 换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只 ...
- LeetCode 560. 和为K的子数组(前缀和差分)
1. 题目 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数. 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1 ...
- 11. Leetcode 713. 乘积小于K的子数组 (数组-同向双指针-滑动窗口)
给定一个正整数数组 nums和整数 k .请找出该数组内乘积小于 k 的连续的子数组的个数.示例 1:输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小于10 ...
最新文章
- KVM 创建虚拟机时,--os-variant参数这样填写
- 压力、焦虑远远超出全国平均值,近4成程序员心理不健康?
- 消息中间件kafka与activeMQ、rabbitMQ、zeroMQ、rocketMQ的比较
- Windows Server 2016 搭建 FTP服务
- lede 内核 单 编_终于搞定,在lede官方源码编译k3固件的方法。求助变分享
- CISP 考试教材《第 9 章 知识域:计算环境安全》知识整理
- JDBC - 宋红康 - 核心技术
- tumblr_将您的Tumblr博客与社交网络集成
- 0基础可不可以学大数据
- UE4虚幻引擎4多人联机基础知识和客户端服务器通信机制详解
- 虚拟化kvm-虚拟化概述
- 【本/硕毕业生】开题报告及论文指导思路和撰写事项的整理
- linux看磁带内容命令,Linux下磁带管理命令
- LeCun领导下的Meta AI,押注自监督
- Web端H5播放FLV、HLS、MP4 (二)
- 软件设计七大原则实战(二)-开闭原则
- 关于QQ的相关代码收集整理
- 解决coursera可以登录但无法播放视频
- vmware安装centos7登录出现something went gone 错误
- 自动控制原理---时域