HackerRank-Longest Subarray

Posted IncredibleThings

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HackerRank-Longest Subarray相关的知识,希望对你有一定的参考价值。

give an array and target value, find the max length of the subarray which sum of the elements is less or equal to that value. 

 

 

    public int longestSubArray(int[] a, int k){
        if(a==null || a.length==0){
            return 0;
        }
        int max=0;
        int len=a.length;
        for(int i=0; i<len; i++){
            int start=a[i];
            if(start >= k){
                if(max<1){
                    max=1;
                }
            }
            else{
                int sum=start;
                for(int j=i+1; j<len; j++){
                    sum=sum+a[j];
                    if(sum>k){
                        if(max<(j-i)){
                            max=j-i;
                        }
                        break;
                    }
                    
                    if(sum <= k && j==(len-1)){
                        if(max<(j-i+1)){
                            max=j-i+1;
                        }
                    }
                }
            }
        }
        return max;
    }

 

以上是关于HackerRank-Longest Subarray的主要内容,如果未能解决你的问题,请参考以下文章

410. Split Array Largest Sum

两个数组找相同

两个数组找不同

数组去重

HDU 5400 Arithmetic Sequence

209. Minimum Size Subarray Sum