数组中累加和为k的最大子数组的长度
Posted 起个po名真费劲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中累加和为k的最大子数组的长度相关的知识,希望对你有一定的参考价值。
package com.hzins.suanfa; import java.util.HashMap; public class demo { /** * 数组中累加和为k的最大子数组的长度 * @param arr * @param k * @return */ public static int maxLengh(int[] arr,int k){ if(arr == null || arr.length == 0){ return 0; } HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put(0, -1); int len = -1; int sum = 0; for(int i=0 ;i < arr.length;i++){ sum += arr[i]; if(map.containsKey(sum - k)){ len = Math.max(i - map.get(sum - k), len); } if(map.containsKey(sum)){ map.put(sum, i); } } return len; } }
以上是关于数组中累加和为k的最大子数组的长度的主要内容,如果未能解决你的问题,请参考以下文章