news 2026/4/20 20:18:45

leetcode 930. Binary Subarrays With Sum 和相同的二元子数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 930. Binary Subarrays With Sum 和相同的二元子数组

Problem: 930. Binary Subarrays With Sum 和相同的二元子数组

前缀和,哈希表记录每个和所在的索引i,对goal==0分开讨论的,使用前缀和- goal,拿到s = prefixSum[i+1] - goal;,数可能的子数组个数,并累加

Code

class Solution { public: int numSubarraysWithSum(vector<int>& nums, int goal) { vector<int> prefixSum = {0}; int n = nums.size(), s = 0; unordered_map<int, vector<int>> ump; ump[0] = {-1}; for(int i = 0; i < n; i++) { s += nums[i]; prefixSum.push_back(s); ump[s].push_back(i); } int ans = 0, l, r; for(int i = 0; i < n; i++) { s = prefixSum[i+1] - goal; if(ump.count(s) != 0) { if(goal==0) { ans += i - ump[s][0]; } else { r = l = ump[s].back(); while(l >= 0 && nums[l]==0) l--; ans += r - l + 1; } } } return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 17:26:30

Redis Zset的实现为什么用跳表,而不用平衡树?

之前写过一篇 Redis 数据类型的底层数据结构的实现&#xff0c;其中提到&#xff0c;ZSet 对象的底层数据结构实现之一是跳表。 然后&#xff0c;有读者就问&#xff1a;为什么不使用平衡树&#xff08;如红黑树、AVL 树&#xff09;&#xff1f; 我们先来了解下跳表&#xf…

作者头像 李华
网站建设 2026/4/18 16:21:30

2026之初凭这份Java面试突击指南,斩获9张大厂Offer

今年金三银四快要到了&#xff0c;不知道大家都拿到Offer没有&#xff0c;如果没有的话&#xff0c;希望大家不要怪LZ凡尔赛了&#xff08;手动狗头&#xff09;。LZ截止今天为止已经收到了第9家公司的Offer&#xff0c;这张的Offer的话给到28k*14薪。由于个人原因&#xff0c;…

作者头像 李华
网站建设 2026/4/17 18:11:35

开盘即罄的深层解读:招商林屿缦岛如何重塑城北改善格局

2026年2月8日&#xff0c;招商林屿缦岛用一场“开盘即罄”的市场表现&#xff0c;不仅创造了自身的销售纪录&#xff0c;更在更深层次上影响了城北改善市场的格局。这次热销事件&#xff0c;需要被放置在更广阔的市场背景中进行解读&#xff0c;才能理解其真正的意义与影响。林…

作者头像 李华
网站建设 2026/4/16 16:10:34

挑战一篇文章带你图解Spring事务拆解底层源码!

下面我会简单介绍一下 Spring 事务的基础知识&#xff0c;以及使用方法&#xff0c;然后直接对源码进行拆解。不 BB&#xff0c;上文章目录。1.1. 项目准备需要搭建环境的同学&#xff0c;代码详见&#xff1a;https://github.com/lml200701158/program_demo/tree/main/spring-…

作者头像 李华
网站建设 2026/4/19 11:29:08

专科生必看!千笔,最受欢迎的AI论文网站

你是否曾为论文选题发愁&#xff0c;绞尽脑汁却难以下笔&#xff1f;是否在深夜面对空白文档无从下手&#xff0c;反复修改仍不满意&#xff1f;论文写作的每一个环节都像一座难以逾越的高山&#xff0c;让无数自考学生倍感压力。别再独自挣扎&#xff0c;千笔AI&#xff0c;作…

作者头像 李华
网站建设 2026/4/20 17:45:36

Flutter-OH 核心概念:Package(包)与 Plugin(插件)的区别详解

Flutter-OH 核心概念&#xff1a;Package&#xff08;包&#xff09;与 Plugin&#xff08;插件&#xff09;的区别详解 欢迎大家 加入跨平台开发者社区。 核心区别详解 首先要明确&#xff1a;Flutter-OH的Plugin是一种特殊的Package&#xff0c;但两者的核心差异在于是否涉…

作者头像 李华