题解 | #未排序数组中累加和为给定值的最长子数组长度#

未排序数组中累加和为给定值的最长子数组长度

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;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务