美文网首页每日打卡
2021-11-27 011 前缀和

2021-11-27 011 前缀和

作者: 16孙一凡通工 | 来源:发表于2021-11-27 15:36 被阅读0次

前缀和的定义就是从location i 到location j 的和,
常见的就是对于某个长度n的序列,进行m次查询,查询当中统计location i 到location j 的和
011里面采用哈希表加前缀和的思路,遍历数组,每次用count统计1,0的个数差,每次统计过程中,采用哈希表,key是count,value是location,每次遍历,当前count在哈希表内已经存在,就更新哈希表的value,这个value就是当前location减去上一次count出现的location。

java版本

class Solution {
    public int findMaxLength(int[] nums) {

        HashMap<Integer,Integer> hashmap=new HashMap<>();

        hashmap.put(0,-1);
        int count=0,res=0;
        for(int i=0;i<nums.length;i++){
       if(nums[i]==0){
           count-=1;
       }else{
           count+=1;
       }
       if(hashmap.containsKey(count)){
           res=Math.max(res,i-hashmap.get(count));
       }else{
           hashmap.put(count,i);
       }

        }
        return res;
    }
}

Go版本

func findMaxLength(nums []int) int {

    // 前缀和

    hashmap:=make(map[int]int);

    count,res:=0,0;
    hashmap[0]=-1;
    for key,value :=range nums{
        if value==0{
            count-=1;
        }else{
            count+=1;
        }
        loc,ok:=hashmap[count];
        if ok{
          res=max(res,key-loc);
        }else{
            hashmap[count]=key;
        }
       
    }
    return res;

}
func max(num1 int,num2 int)int{
    if num1>num2{
        return num1;
    }
    return num2;
}

相关文章

  • 2021-11-27 011 前缀和

    前缀和的定义就是从location i 到location j 的和,常见的就是对于某个长度n的序列,进行m次查...

  • 前缀和

    560.和为K的子数组 算出一共有几个和为 k 的子数组。这里用到了前缀和数组。 注意以下几点: 前缀和数组第0号...

  • 前缀和

    什么是前缀和 简单来说:我们有一个数组x和它的前缀和数组y,他们满足以下公式。y 0 = x 0y 1 = x 0...

  • 前缀和

    [TOC] 前缀和基础原理 基础模板 关键规律 从 i 到 j 的元素和 = prefixSum[j+1] – p...

  • 一些用前缀思想解决的题(持续完善)

    有前缀和, 前缀GCD, 前缀奇数个数, 前缀偶数个数, 前缀差, 等等, 都要根据自己的思想来去解决!!!,前缀...

  • 左右两边子数组的和相等

    前缀和

  • 前缀和后缀

    #include void main() { int a = 1, b = 1; int aplus = ...

  • 前缀和(持续)

    写在前面:(2020-2-12)发现之前学习的一些算法忘了很多,准备最近在洛谷上找一些基础的题目做一做,熟悉一下这...

  • 前缀和算法

    1,什么是前缀和算法 前缀和算法是一种重要的预处理算法,能大大降低查询的时间复杂度。最简单的题目就是:给定n个数和...

  • 前缀和例题

    前缀和分为一维和二维,我现在才想起来,上次鸿哥在校赛A题上想要表达的那个意思就是一位前缀和 子段求和 ---- 一...

网友评论

    本文标题:2021-11-27 011 前缀和

    本文链接:https://www.haomeiwen.com/subject/buxqxrtx.html