创意型网站,生产网线需要什么设备,咸宁做网站的公司那家便宜,安全协议书 网站开发公司巧用哈希表与前缀和#xff0c;前缀和差为k的两个序号之间的数组就是满足条件的子数组#xff0c;用哈希表来存放每个序号的前缀和。
前缀和就是头元素到当前序号子数组元素的和
class Solution {
public:int subarraySum(vectorint nums, int k) {unordered_…
巧用哈希表与前缀和前缀和差为k的两个序号之间的数组就是满足条件的子数组用哈希表来存放每个序号的前缀和。
前缀和就是头元素到当前序号子数组元素的和
class Solution {
public:int subarraySum(vectorint nums, int k) {unordered_mapint, int mp;mp[0] 1;int count 0, pre 0;for (auto x:nums) {pre x;if (mp.count(pre - k)) {//看有没有前缀和差为目标k的两个序号count mp[pre - k];//有的话答案加上满足的前序数量}mp[pre];//记录每一个序号的前缀和前缀和相等的话map-second计数会加一}return count;}
};