首页 > 数据库 >[Oracle] LeetCode 560 Subarray Sum Equals K 思维+Map

[Oracle] LeetCode 560 Subarray Sum Equals K 思维+Map

时间:2022-09-30 23:36:42浏览次数:57  
标签:Map nums 560 Sum Equals int prex Subarray array

Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals to k.

A subarray is a contiguous non-empty sequence of elements within an array.

Solution

我们需要找到所有的区间:

\[nums[i]+...+nums[j]=k \]

那么我们使用前缀和 \(prex[i]-prex[j-1]=k\),那么转变一下:

\[prex[i]-k=prex[j-1] \]

所以同样也是 \(prex\)

点击查看代码
class Solution {
private:
    unordered_map<int,int> mp;
    int prex[20002];
public:
    int subarraySum(vector<int>& nums, int k) {
        int n = nums.size();
        int ans=0;
        prex[0]=nums[0];
        for(int i=1;i<n;i++)prex[i]=nums[i]+prex[i-1];
        for(int i=0;i<n;i++){
            if(prex[i]==k)ans++;
            if(mp.find(prex[i]-k)!=mp.end())ans+=mp[prex[i]-k];
            mp[prex[i]]++;
        }
        return ans;
    }
};

标签:Map,nums,560,Sum,Equals,int,prex,Subarray,array
From: https://www.cnblogs.com/xinyu04/p/16746539.html

相关文章

  • Apollo 中配置String、Map和List和默认值
    摘要:在Apollo中,配置String、Map和List等类型的信息,同时设置默认值。综述  随着业务需求的变更,需要在Apollo中配置一个Map<String,List>类型的变量用于标志客户信息,诸......
  • k8s部署canal-server使用configMap挂载方式报Read Only file System
    k8s部署canal-server使用configMap挂载方式报ReadOnlyfileSystem1.1、问题复现由于部署canal-server时,需要修改主库master的数据库连接信息以及配置zookeeper,所以为了......
  • stream().map().collect()
    原文链接:https://blog.csdn.net/qq_42688149/article/details/1180243471示例有一个集合:Listusers=getList(); //从数据库查询的用户集合现在想获取User的身份证号......
  • 【code基础】HashMap用法
    1.hashMap赋值的简便方法for(inti=0;i<s.length();i++){charc=s.charAt(i);if(maps.containsKey(c))maps.put(c,maps.g......
  • CF1514B AND 0, Sum Big-不学数学,你怎么会有进步呢?qaq
    Problem-1514B-Codeforces题意:给定n,k元素为[0,2^k-1],(一共2^k个数),选n个数组成数列,使得1:所有元素的&的和为02:所有元素的和尽量大解:假如n=2,k=2.可知元素只有2位0:0......
  • pandas中绘图函数plot的使用以及cumsum()函数
     从最简单的开始,如果要绘制一条数据的线性图。因为Series和DataFrame都有一个用于生成各类图表的plot方法。对于一条Series数据,直接plot()就能获得一张线性图了data=......
  • nmap的使用
    nmap-iLlist.txtnmap192.168.10.0/24--excludefilelist.txtnmap默认情况使用TCPACKICMP发送请求-F快速-sPping扫描不会返回太多信息,方便信息分析-P0或-Pn......
  • <map>元素
    <map>元素<area>元素<map>元素的子元素设置图片的指定区域的锚链接区位<areashape=""coords=""href=""alt="">shape属性shape=rect:矩形shape=circle:圆形sh......
  • MyBatis-Plus【通用Mapper篇】
    MP-通用Mapper​​一、通用Mapper​​​​二、使用方式​​​​1、源码分析​​​​:one:Insert插入方法​​​​:two:Delete删除方法​​​​:three:Update修改方法​......
  • MyBatis加载Mapper映射文件的方式
    MyBatis加载Mapper的映射文件的方式我们都知道MyBatis是一款半自动的ORM框架,它的特点就是具有灵活的sql操作MyBatis是利用mapper的映射文件,来将数据库的中字段与Java的属性......