力扣1546.和为目标值且不重叠的非空子数组的最大数目

力扣1546.和为目标值且不重叠的非空子数组的最大数目

  • 从头开始找 找到满足条件的就清空哈希表

cpp 复制代码
  class Solution {
  public:
      int maxNonOverlapping(vector<int>& nums, int target) {
          int n = nums.size();
          vector<int> s(n+1);
          for(int i=0;i<n;i++) s[i+1] = s[i] + nums[i];
  
          unordered_map<int,int> cnt;
          int res=0;
          for(int sj:s)
          {
              if(cnt.find(sj - target) != cnt.end())
              {
                  res ++;
                  cnt = unordered_map<int,int> {};
              }
              cnt[sj] ++;
          }
          return res;
      }
  };
相关推荐
捕鲸叉12 分钟前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer16 分钟前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
wheeldown1 小时前
【数据结构】选择排序
数据结构·算法·排序算法
观音山保我别报错2 小时前
C语言扫雷小游戏
c语言·开发语言·算法
TangKenny3 小时前
计算网络信号
java·算法·华为
景鹤3 小时前
【算法】递归+深搜:814.二叉树剪枝
算法
iiFrankie3 小时前
SCNU习题 总结与复习
算法
Dola_Pan4 小时前
C++算法和竞赛:哈希算法、动态规划DP算法、贪心算法、博弈算法
c++·算法·哈希算法
小林熬夜学编程4 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
躺不平的理查德5 小时前
数据结构-链表【chapter1】【c语言版】
c语言·开发语言·数据结构·链表·visual studio