区块链技术博客
www.b2bchain.cn

325. 和等于 k 的最长子数组长度–hashmap前缀和

这篇文章主要介绍了325. 和等于 k 的最长子数组长度–hashmap前缀和,通过具体代码讲解8449并且分析了325. 和等于 k 的最长子数组长度–hashmap前缀和的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了325. 和等于 k 的最长子数组长度–hashmap前缀和。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/8449.html。具体如下:

325. 和等于 k 的最长子数组长度--hashmap前缀和 

 class Solution {     public int maxSubArrayLen(int[] nums, int k) {         int len = nums.length;         int max = 0;          // 求前缀和,并利用 Map<前缀和, 对应索引> 储存         int[] sum = new int[len + 1];         Map<Integer, Integer> map = new HashMap<>();         map.put(0, 0);         for (int i = 1; i <= len; i ++) {             sum[i] = sum[i - 1] + nums[i - 1];             if (!map.containsKey(sum[i]))                 map.put(sum[i], i);         }          // 从后向前遍历数组,i为子数组的结尾,寻找符合条件的前缀和及其索引         for (int i = len; i > max; i --) {             if (map.containsKey(sum[i] - k)) {                 max = Math.max(max, i - map.get(sum[i] - k));             }         }         return max;     } }  

 

本文地址https://www.b2bchain.cn/8449.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 325. 和等于 k 的最长子数组长度–hashmap前缀和
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们