题解 | #未排序数组中累加和为给定值的最长子数组长度#
未排序数组中累加和为给定值的最长子数组长度
http://www.nowcoder.com/practice/704c8388a82e42e58b7f5751ec943a11
暴力解法,直接从最长的可能依次遍历求和,和值为k则直接返回当前的子数组长度
import java.util.*;
public class Solution {
/**
* max length of the subarray sum = k
* @param arr int整型一维数组 the array
* @param k int整型 target
* @return int整型
*/
public int maxlenEqualK (int[] arr, int k) {
// write code here
int max = arr.length,sum=0;
while(max > 0){
for(int i=0;i<arr.length-max+1;i++){
sum = 0;
for(int j = i;j<max+i;j++){
sum += arr[j];
}
if(sum == k) return max;
}
max--;
}
return 1;
}
}